当前位置: 首页 > wzjs >正文

网站建设是指襄阳seo优化排名

网站建设是指,襄阳seo优化排名,深圳seo关键词优化外包公司,自己做头像的网站博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 目录 1.元素的定位 1.1 定位步骤 1,要想定位,就先打开开发者工具 2,先点击左上角图标 1.2 cssSelector 1.3 xpath 2.操作测…

 博主主页: 码农派大星.

    数据结构专栏:Java数据结构

 数据库专栏:数据库

JavaEE专栏:JavaEE

软件测试专栏:软件测试

关注博主带你了解更多知识

目录

1.元素的定位

1.1 定位步骤

1,要想定位,就先打开开发者工具

2,先点击左上角图标

1.2 cssSelector

1.3 xpath 

2.操作测试对象 

2.1 点击/提交对象

2.2 模拟按键输⼊

2.3 清除⽂本内容

2.4 获取⽂本信息

2.5 获取当前⻚⾯标题

2.6获取当前⻚⾯URL

3.窗⼝

3.1 窗⼝设置⼤⼩

3.2 窗⼝切换

3.3 屏幕截图

3.4关闭窗⼝

4、等待

4.1 强制等待

4.2 隐式等待

4.3 显⽰等待

优点:

缺点:

5.浏览器导航 

1,打开⽹站

2,浏览器的前进、后退、刷新

6. 弹窗

6.1警告弹窗

6.2 确认弹窗

6.3 提⽰弹窗

7. ⽂件上传

8.浏览器参数设置

1.设置⽆头模式

2.设置浏览器加载策略


在自动化测试中,编写常用的函数可以提高代码的复用性和可维护性。以下是一些在自动化测试中常用的函数示例,这些函数涵盖了常见的操作,如启动浏览器、定位元素、点击、输入文本、等待、断言等

1.元素的定位

Web自动化测试的核心确实是能够准确找到页面上的元素,并在这些元素上执行操作。无论是点击按钮、输入文本、验证页面内容,还是执行其他交互,所有的操作都依赖于能够定位到这些元素

常⻅的元素定位⽅式⾮常多,如id,classname,tagname,xpath,cssSelector

常⽤的主要由cssSelector和xpath

1.1 定位步骤

1,要想定位,就先打开开发者工具

方式有三种:

鼠标右键->检查

Ctrl键+shift键+i

F12

2,先点击左上角图标

再点击要找的对应元素,就会出现定位 

1.2 cssSelector

选择器的功能:选中⻚⾯中指定的标签元素

选择器的种类分为基础选择器和复合选择器,常⻅的元素定位⽅式可以通过id选择器和⼦类选择器来 进⾏定位

定位百度⾸⻚的“百度一下”元素,可以使⽤通过id选择器和⼦类选择器进⾏定位:"btn self-btn bg s_btn"

crtl+F搜索复制的selector ,就可以定位所在元素位置

1.3 xpath 

XPath(XML Path Language)是一种在XML和HTML文档中查找信息的语言,它使用路径表达式来选定文档中的节点

获取HTML⻚⾯所有的节点

//*

获取HTML⻚⾯指定的节点

//[指定节点]

获取⼀个节点中的直接⼦节点

/

获取⼀个节点的⽗节点

..

实现节点属性的匹配

[@...]

采用xpath方式来定位百度⾸⻚的“百度一下”元素

crtl+F搜索复制的xpath ,就可以定位所在元素位置 

2.操作测试对象 

对元素进⾏操作,常⻅的操作,有点击、提交、输⼊、清 除、获取⽂本

2.1 点击/提交对象

click()
 //找到百度⼀下按钮并点击driver.findElement(By.cssSelector("#su")).click();

2.2 模拟按键输⼊

sendKeys("")
  driver.findElement(By.cssSelector("#kw")).sendKeys("2025大年三十倒计时计时器");

2.3 清除⽂本内容

输⼊⽂本后⼜想换⼀个新的关键词,这⾥就需要⽤到 clear()

 driver.findElement(By.cssSelector("#kw")).sendKeys("我爱游戏");driver.findElement(By.cssSelector("#kw")).clear();driver.findElement(By.cssSelector("#kw")).sendKeys("我爱学习");

2.4 获取⽂本信息

getText();
 List<WebElement> elements = driver.findElements(By.cssSelector("#hotsearch-content-wrapper > li > a > span.title-content-title"));for (int i = 0; i < 10;i++){System.out.println(elements.get(i).getText());}

不可以通过 getText() 获取到“百度⼀下按钮”上的⽂字“百度⼀下”

⽂本和属性值获取方式不一样,获取属性值需要使⽤⽅法getAttribute(" 属性名称 ") ;

2.5 获取当前⻚⾯标题

getTitle();

2.6获取当前⻚⾯URL

getCurrentUrl() ;

3.窗⼝

3.1 窗⼝设置⼤⼩

//窗⼝最⼤化
driver.manage().window().maximize();//窗⼝最⼩化
driver.manage().window().minimize();//全屏窗⼝
driver.manage().window().fullscreen();//⼿动设置窗⼝⼤⼩
driver.manage().window().setSize(new Dimension(1024, 768));

3.2 窗⼝切换

1)获取当前⻚⾯句柄: driver.getWindowHandle();

2)获取所有⻚⾯句柄: driver.getWindowHandles();

3)切换当前句柄为最新⻚⾯

        //点击新闻driver.findElement(By.cssSelector("#s-top-left > a:nth-child(1)")).click();String curHandle = driver.getWindowHandle();Set<String> allHandle = driver.getWindowHandles();for(String handle : allHandle){if (handle != curHandle) {//切换页面driver.switchTo().window(handle);}}//测试百度新闻首页driver.findElement(By.cssSelector("#city_name"));

3.3 屏幕截图

屏幕截图⽅法需要额外导⼊包:

        <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency>
void Screen (String str) throws IOException {//屏幕截图SimpleDateFormat sim1 = new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat sim2 = new SimpleDateFormat("HHmmss");String dirTime = sim1.format(System.currentTimeMillis());String fileTime = sim1.format(System.currentTimeMillis());String filename = "./src/test/image/" + dirTime +"/" + str +"-"+fileTime+".png";System.out.println("filename:"+filename);File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);//srcFile放到指定位置FileUtils.copyFile(srcFile,new File(filename));}

3.4关闭窗⼝

driver.close(); 
注意:窗⼝关闭后 driver 要重新定义

4、等待

4.1 强制等待

Thread.sleep();

优点:使⽤简单,调试的时候⽐较有效,易理解

缺点:影响运⾏效率,浪费⼤量的时间

4.2 隐式等待

隐式等待是⼀种智能等待,他可以规定在查找元素时,在指定时间内不断查找元素。如果找到则代码 继续执⾏,直到超时没找到元素才会报错

implicitlyWait () ;

参数:Duration类中提供的毫秒、秒、分钟等⽅法

//隐式等待5秒
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5));

隐式等待作⽤域是整个脚本的所有元素。即只要driver对象没有被释放掉(driver.quit()),隐式等待 就⼀直⽣效。

4.3 显⽰等待

显⽰等待也是⼀种智能等待,在指定超时时间范围内只要满⾜操作的条件就会继续执⾏后续代码

new WebDriverWait(driver, Duration.ofSeconds(3)).until($express);

 • elementToBeClickable(By locator)‒⽤于检查元素的期望是可⻅的并已启⽤,以便您可以单击它。

• textToBe (Bylocator , String str)-检查元素。

• presenceOfElementLocated(Bylocator)‒检查⻚⾯的DOM上是否存在元素。

• urlToBe(java.lang.String url)‒检查当前⻚⾯的URL是⼀个特定的URL

优点:

  1. 灵活性高:显式等待可以针对每个元素和场景设置不同的等待时间和条件。比如,等待元素可点击、可见、存在于DOM中等,这样可以根据实际情况灵活调整。
  2. 避免不必要的等待:只有在满足条件时才会继续执行,可以减少等待时间,不像隐式等待那样可能导致不必要的延迟。
  3. 精确控制:你可以选择不同的等待条件(如元素可见、可点击、元素存在等),适用于更复杂的场景,提供更高的控制权。

缺点:

  1. 需要更多的代码:每次使用显式等待时,都需要明确指定等待的条件和最大等待时间,可能导致代码更复杂。
  2. 可能增加代码冗余:在不同地方使用显式等待时,如果处理方式相似,可能会导致冗余的代码。

5.浏览器导航 

1,打开⽹站

 // 更⻓的⽅法driver.navigate().to("https://selenium.dev");// 简洁的⽅法driver.get("https://selenium.dev");

2,浏览器的前进、后退、刷新

 driver.navigate().back();driver.navigate().forward();driver.navigate().refresh();

6. 弹窗

6.1警告弹窗

 Alert alert = driver.switchTo.alert();//确认
alert.accept()

6.2 确认弹窗

Alert alert = driver.switchTo.alert();//确认
alert.accept()//取消
alert.dismiss()

6.3 提⽰弹窗

 Alert alert = driver.switchTo.alert();alert.sendKeys("hello");alert.accept();alert.dismiss();

7. ⽂件上传

点击⽂件上传的场景下会弹窗系统窗⼝,进⾏⽂件的选择。 selenium⽆法识别⾮web的控件,上传⽂件窗⼝为系统⾃带,⽆法识别窗⼝元素 但是可以使⽤sendkeys来上传指定路径的⽂件,达到的效果是⼀样的

 WebElement ele = driver.findElement(By.cssSelector("body > div > div > 
input[type=file]"));ele.sendKeys("D:\\selenium2html\\selenium2html\\upload.html");

8.浏览器参数设置

1.设置⽆头模式

启用无头模式(没有显示的浏览器界面),这通常用于自动化测试

Chrome0ptions options =new Chrome0ptions();
options.addArguments("-headless");

2.设置浏览器加载策略

options.setPageLoadStrategy(PageLoadStrategy.NONE);

http://www.dtcms.com/wzjs/824005.html

相关文章:

  • 核酸检测最新消息网页关键词优化难度
  • 做网站的需要什么软件河北网站制作公司哪家好
  • 做更好的自己 网站易语言如何做网站
  • 都有什么类别的网站免费网络电话无限打
  • wordpress+远程缓存青岛做网站优化哪家好
  • 建设视频网站流量网站建设方面的优劣势分析
  • 深圳龙岗建站公司网站制作中搜索栏怎么做
  • 宁波网站搭建公司html5网站实例
  • 建设网站五个步骤近一周财经新闻热点
  • 酒店网站建设栏目分析wordpress4.9+多站点
  • 迪庆北京网站建设闵行品划网站建设公司
  • 做广告在哪个网站做效果人流最多免费论文网站大全
  • 网站大图怎么做更吸引客户网站空间文件删不掉
  • 景区智慧旅游网站建设360如何做网站优化
  • 简单的美食网站模板免费下载wordpress木马乐主题
  • 厦门网站建设优化自己做app
  • 程序员外包网站惠州室内设计公司排名
  • 青秀网站建设seo优化报告
  • 网站开发的过程中遇到的难题wordpress 手机 写文
  • 如何买域名发布网站专业做化妆品外包材的招聘网站
  • 做网站到八方资源网怎么样房地产查询官网
  • 建设银行网站银行登录合肥响应式网站建设方案
  • 怎样在本机建设网站做企业服务这个行业怎么样
  • 成都手机网站建设报价表东莞电子产品网站建设
  • 湘西网站建设国内外十大免费crm软件推荐
  • 关于建设网站的通知cms做企业网站
  • 网站备案 换空间上海的网站建设公司
  • php做小公司网站用什么框架wordpress标题带竖
  • 代做ppt技术优化seo
  • 新七建设集团有限公司网站实时热搜榜榜单