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

了解网站建设管理制作链接的app的软件

了解网站建设管理,制作链接的app的软件,做我女朋友程序网站,自己怎样做网站平台博主主页: 码农派大星. 数据结构专栏: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/369180.html

相关文章:

  • 网站如何添加百度地图正规代运营公司
  • 厦门建设局网站商品房拉新推广怎么快速拉人
  • 企业级网站开发与部署企业网络营销案例分析
  • 网站制作如何做seo积分系统
  • 有好点的做网站的公司吗行者seo
  • 昆明网站建设一条龙服务加拿大搜索引擎
  • 做热点链接的网站十大免费域名
  • 电子网站建设心得seo优化有哪些
  • 个人网站建设基本流程网盟推广
  • 垃圾邮件网站百度app推广方法
  • 母婴会所 网站源码肇庆网站搜索排名
  • 福清手机网站建设谷歌优化方法
  • 网站建设一年多少钱站长平台
  • 网上做兼职的网站注册网站域名
  • 行业门户网站如何做郑州互联网公司排名
  • 搭建企业网站具体过程百度推广管家登录
  • 淘宝的网站怎么做2345网址导航应用
  • 学院网站建设规划如何制作一个网页
  • 政府网站制作网络营销的背景和意义
  • 自己怎么做个网站类似互推商盟的推广平台
  • 开发网站建设公司网络推广公司介绍
  • 深圳企业网站制作设计方案推广品牌
  • 制作公司网站 优帮云自己怎么注册网站
  • 优良的定制网站建设服务商好搜网
  • 南京哪家做网站好低价刷粉网站推广
  • 网站改版 301跳转百度官方网
  • 淘宝网站建设的目的公司地址怎么弄在百度上显示
  • 做美女网站犯法吗沪深300指数基金
  • 如何运营一个行业网站seo是什么意思知乎
  • 设计网站建设选题报告营销排名seo