Web自动测试常用代码(Java版)

这篇具有很好参考价值的文章主要介绍了Web自动测试常用代码(Java版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java+selenium3

driver对象常用API

driver对象常用API-01

自动化测试页面代码,前端,java,开发语言,selenium

driver对象常用API-02

自动化测试页面代码,前端,java,开发语言,selenium

driver对象常用API-03

自动化测试页面代码,前端,java,开发语言,selenium

特殊元素

alert弹框

Modal Dialogue Box,又叫做模式对话框,是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。

自动化测试页面代码,前端,java,开发语言,selenium

WebDriver driver = new ChromeDriver();
driver.get("C:\\Users\\zhaox\\Desktop\\Study\\软件测试\\练习素材\\模态框\\alert.html");
driver.findElement(By.id("abtn"));
Alert alert = driver.switchTo().alert();
alert.accept();//确认
alert.dismiss();//取消
System.out.println(alert.getText());//获取弹出框文本(不能确认或取消弹框)

confirm弹框

自动化测试页面代码,前端,java,开发语言,selenium

WebDriver driver = new ChromeDriver();
driver.get("C:\\Users\\zhaox\\Desktop\\Study\\软件测试\\练习素材\\模态框\\confirm.html");
driver.findElement(By.id("abtn")).click();;
Alert alert = driver.switchTo().alert();
alert.accept();
Alert alert1 = driver.switchTo().alert();
alert1.accept();
alert.dismiss();
Alert alert2 = driver.switchTo().alert();
System.out.println(alert.getText());

iframe切换

iframe切换

四种切换方式:

  • driver.switchTo().frame(index);
  • driver.swithTo().frame(id);
  • driver.swithTo().frame(name);
  • driver.swithTo().frame(WebElement);

切换之后,返回到默认内容页面(否则会找不到元素)

driver.switchTo().defaultContent();

自动化测试页面代码,前端,java,开发语言,selenium

WebDriver driver = new ChromeDriver();
driver.get("C:\\Users\\zhaox\\Desktop\\Study\\软件测试\\练习素材\\iframe\\a.html");
Thread.sleep(1500);
driver.findElement(By.id("aa")).sendKeys("111");
Thread.sleep(1500);
driver.switchTo().frame("bframe");
Thread.sleep(1500);
driver.findElement(By.id("bb")).sendKeys("222");
Thread.sleep(1500);
driver.switchTo().frame("cframe");
Thread.sleep(1500);
driver.findElement(By.id("cc")).sendKeys("333");
Thread.sleep(1500);
driver.switchTo().defaultContent();
driver.findElement(By.id("aa")).clear();
driver.findElement(By.id("aa")).sendKeys("我tm回来辣!");

window

当你要操作另外一个窗口页面的元素时,一定要注意先切换窗口

切换方式:传入要操作的name或者句柄handle

driver.switchTo().window(nameOrHandle);

如何获取到窗口的句柄

  • driver.getWindowHandle();//获取当前操作窗口的句柄
  • driver.getWindowHandles();//获取测试时打开的所有窗口句柄
  • driver.switchTo().window(driver.getWindowHandles().toArray()[i].toString());//根据数组下标位置,获取当前的句柄

自动化测试页面代码,前端,java,开发语言,selenium

WebDriver driver = new ChromeDriver();
driver.get("C:\\Users\\zhaox\\Desktop\\Study\\软件测试\\练习素材\\window\\a.html");
Thread.sleep(1500);
driver.findElement(By.id("aa")).sendKeys("哈哈哈");
Thread.sleep(1500);
driver.findElement(By.id("bb")).click();
Thread.sleep(1500);
//        Set<String> handles = driver.getWindowHandles(); 获取所有窗口的句柄
//        Thread.sleep(1500);
//        for(String handle: handles) {
//        	driver.switchTo().window(handle);
//        	if(driver.getTitle().equals("b.html"))
//        		break;
//        }
//还有一种根据数组的办法转换句柄
driver.switchTo().window(driver.getWindowHandles().toArray()[1].toString());
Thread.sleep(1500);
driver.findElement(By.id("bb")).sendKeys("哈哈哈哈哈哈");

select下拉框

如果页面元素时一个下拉框,我们可以将此web元素封装为Select对象

  • Select select = new Select(WebElement element);

Select对象常用的api

  • select.getOptions();//获取所有选项
  • select.selectByIndex(index);//根据索引选中对应的元素
  • select.selectByValue(value);//选择指定value值对应的选项
  • select.selectByVisibleText(text);//选中文本值对应的选项
  • 自动化测试页面代码,前端,java,开发语言,selenium

时间日期控件

分为两种情况:

  • 控件没有限制手动输入,则直接调用sendkeys方法写入时间数据

自动化测试页面代码,前端,java,开发语言,selenium

  • 控件有限制输入,则可以执行一段js来改变元素的value属性值

JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;

jsExecutor.executeScript(“…”);
自动化测试页面代码,前端,java,开发语言,selenium

WebDriver driver = new ChromeDriver();
driver.get("C:\\Users\\zhaox\\Desktop\\Study\\软件测试\\练习素材\\js操作\\js.html");
Thread.sleep(1500);
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("document.getElementById(\"tt\").removeAttribute(\"disabled\")");
Thread.sleep(1500);
driver.findElement(By.id("tt")).sendKeys("111");

鼠标操作

自动化测试时,有些元素不合适直接点击或者进行某些操作时,可以使用Selenium的Action类来模拟鼠标键盘操作,通过Actions对象可以发起鼠标左键、右键、移动鼠标等操作,最后使用perform方法执行操作

actions.clickAndHold(onElement).moveToElement(toElement).release().build().perform();

自动化测试页面代码,前端,java,开发语言,selenium

文件上传

分为两类情况

  • 类似于下面,使用sendKeys写入文件的路径

自动化测试页面代码,前端,java,开发语言,selenium

  • 如果文件上传不是input元素,而是使用的第三方的控件。并且不是input元素,那么这种情况就很棘手了,必须使用一些第三方的工具,比如autoti等来完成

视频资源:Java+selenium3 web自动化测试实战

练习

【软件测试大赛Web应用省赛】跳坑记录文章来源地址https://www.toymoban.com/news/detail-844034.html

WebDriver driver = new ChromeDriver();
driver.get("https://music.163.com");
Thread.sleep(1500);
driver.manage().window().maximize();
driver.findElement(By.linkText("歌手")).click();
Thread.sleep(1500);
driver.switchTo().frame("contentFrame");
driver.findElement(By.linkText("华语女歌手")).click();
Thread.sleep(1500);
driver.findElement(By.xpath("//*[@id=\"initial-selector\"]/li[5]/a")).click();
Thread.sleep(1500);
driver.findElement(By.className("msk")).click();
Thread.sleep(3000);//留下时间给自己鼠标过去
driver.findElement(By.xpath("/html/body/div[3]/div[1]/div/div/div[3]/div[2]/div/div/div/div[1]/table/tbody/tr[3]/td[3]/div/a")).click();
driver.quit();

到了这里,关于Web自动测试常用代码(Java版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://blog.csdn.net/m0_63932157/article/details/134755785

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 对个人博客系统进行web自动化测试(包含测试代码和测试的详细过程)

    目录 一、总述 二、登录页面测试 一些准备工作  验证页面显示是否正确  验证正常登录的情况 该过程中出现的问题 验证登录失败的情况  关于登录界面的总代码  测试视频 三、注册界面的自动化测试 测试代码 过程中出现的bug  测试视频 四、博客列表页测试 登录情况下的

    2024年02月05日
    浏览(9)
  • 13.4web自动化测试(Selenium3+Java)

    一.定义  用来做web自动化测试的框架. 二.特点 1.支持各种浏览器. 2.支持各种平台(操作系统). 3.支持各种编程语言. 4.有丰富的api. 三.工作原理 四.搭环境 1.对照Chrome浏览器版本号,下载ChromeDriver,配置环境变量,我直接把.exe文件放在了jdk安装路径的bin文件夹下了(jdk配置了环境变量

    2024年02月08日
    浏览(8)
  • 基于Java+Selenium的WebUI自动化测试框架(一)---页面元素定位器

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 对于自动化测试,尤其是UI的自动化测试。是很多做黑盒功能测试的同

    2024年03月17日
    浏览(25)
  • web自动化测试(java+seleium)元素定位,全屏截图

    示例 根据元素的id属性来定位元素 根据元素的name属性来定位元素,但是注意name的属性值在当前文档中可以不是唯一的 通过class定位 通过tag进行定位,tag定位比较模糊,多用于标题等特殊标签 定位超链接文本(文本值) 模糊的link_text定位 能够实现路径定位(绝对路径,相对路径

    2024年02月08日
    浏览(12)
  • 软件测试——功能测试,使用Java,IDEA,Selenium进行web自动化测试

    视频地址:03-web元素定位ID_哔哩哔哩_bilibili p1.下载jdk,maven,idea p2.配置java-selenium环境正式开始: (1)创建代码: (2)第一次运行会报错:要下载东西  (3) Windows系统的输入如下:  (4)完成如下:(这个用的是Linux系统的) p3:web元素定位ID (1)先改一下之前的代码  (

    2024年02月08日
    浏览(30)
  • selenium-java web自动化测试工具抓取百度搜索结果实例

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! selenium-java web自动化测试工具抓取百度搜索结果实例 这种方式抓百度

    2024年03月14日
    浏览(25)
  • 【Java万花筒】代码安全护航:Java自动化测试与BDD

    在当今软件开发领域,自动化测试和行为驱动开发(BDD)已经成为确保软件质量和可维护性的不可或缺的一部分。Java开发者可以借助多种库和框架来实现自动化测试,并通过BDD方法更清晰地表达软件的行为规范。本文将深入探讨一些在Java环境中广泛使用的自动化测试和BDD库

    2024年01月22日
    浏览(11)
  • 自动化测试 - Web自动化测试原理

    目前市面上有很多Web UI自动化测试框架,比如WatiN, Selinimu,WebDriver,还有VS2010中的Coded UI等等. 这些框架都可以操作Web中的控件,模拟用户输入,点击等操作,实现Web自动化测试。其实这些工具的原理都一样,都是通过调用IE COM接口和HTML DOM 对IE浏览器以及WEB测试对象的操作。

    2024年01月16日
    浏览(10)
  • Web自动化测试简介及web自动化测试实战交教程

    1.什么是自动化测试? 自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能

    2024年02月08日
    浏览(19)
  • Web自动测试常用代码(Java版)

    driver对象常用API-01 driver对象常用API-02 driver对象常用API-03 alert弹框 Modal Dialogue Box,又叫做模式对话框,是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。 confirm弹框 iframe切换 iframe切换 四

    2024年03月28日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包