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

软件测试比赛-学习

一、环境配置

二、浏览器适配

//1.设置浏览器的位置,google浏览器位置是默认且固定在电脑里的//2.设置浏览器驱动的位置,C:\Users\27743\AppData\Local\Google\Chrome\ApplicationSystem.setProperty("webdriver.chrome.driver", "C:\\Users\\27743\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");//3.加载浏览器
//		ChromeDriver chromeDriver = new ChromeDriver();WebDriver driver = new ChromeDriver();//4.通过chromeDriver打开浏览器
//		chromeDriver.get("https://www.baidu.com/");driver.get("https://www.baidu.com/");

这里配置selenium环境,推荐这篇文章全国大学生软件测试大赛Web应用测试(二)Selenium功能测试环境配置_慕测平台的eclipse插件-CSDN博客

通过这篇文章来学习 

02_浏览器适配_哔哩哔哩_bilibili 根据这个视频操作

设置自动补全功能 

三、浏览器基本操作

package selenium;import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebDriver.Options;
import org.openqa.selenium.chrome.ChromeDriver;public class demo1 {public static void main(String[] args) {try {// TODO Auto-generated method stub//1.设置浏览器的位置,google浏览器位置是默认且固定在电脑里的//2.设置浏览器驱动的位置,C:\Users\27743\AppData\Local\Google\Chrome\ApplicationSystem.setProperty("webdriver.chrome.driver", "C:\\Users\\27743\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");//3.加载浏览器
//			ChromeDriver chromeDriver = new ChromeDriver();WebDriver driver = new ChromeDriver();//4.通过chromeDriver打开浏览器
//			chromeDriver.get("https://www.baidu.com/");driver.get("https://www.baidu.com/");Thread.sleep(1500);//浏览器的操作//1.浏览器最大化driver.manage().window().maximize();
//			 Options manage = driver.manage();
//			 manage.window().maximize();Thread.sleep(1500);//2.获取导航类
//			Navigation nat = driver.navigate();
//			nat.to("https://www.baidu.com/s?wd=%E6%B8%85%E6%BE%88%E7%9A%84%E7%88%B1%E5%8F%AA%E4%B8%BA%E4%B8%AD%E5%9B%BD&sa=fyb_n_homepage&rsv_dl=fyb_n_homepage&from=super&cl=3&tn=baidutop10&fr=top1000&rsv_idx=2&hisfilter=1");driver.navigate().to("https://www.baidu.com/s?wd=%E6%B8%85%E6%BE%88%E7%9A%84%E7%88%B1%E5%8F%AA%E4%B8%BA%E4%B8%AD%E5%9B%BD&sa=fyb_n_homepage&rsv_dl=fyb_n_homepage&from=super&cl=3&tn=baidutop10&fr=top1000&rsv_idx=2&hisfilter=1");Thread.sleep(1500);//2.1浏览器后退
//			nat.back();driver.navigate().back();Thread.sleep(1500);//2.2浏览器前进
//			nat.forward();driver.navigate().forward();Thread.sleep(1500);//2.3浏览器的刷新driver.navigate().refresh();Thread.sleep(1500);//3.获取当前标题和urlString title = driver.getTitle();System.out.println("title:"+ title);System.out.println("url:"+driver.getCurrentUrl());//3.1重新打开浏览器,我们看当前的标题和url地址driver.get("https://www.baidu.com/");driver.navigate().to("https://yiyan.baidu.com/");System.out.println("title:"+ driver.getTitle());System.out.println("url:"+driver.getCurrentUrl());//last:关闭浏览器driver.quit();//last:关闭标签
//			driver.close();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}

四、元素的基本操作

package selenium;import java.util.List;import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;public class demo2 {public static void main(String[] args) {// TODO Auto-generated method stubtry {//1.设置浏览器驱动的位置System.setProperty("webdriver.chrome.driver", "C:\\Users\\27743\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");//2.加载浏览器WebDriver driver = new ChromeDriver();//3.打开浏览器driver.get("file:///D:/RuanJian/selenium/code/demo1/index.html");//4.元素的基本操作,先定位后操作//定位WebElement input_name = driver.findElement(By.xpath("//*[@id=\"user2\"]"));System.out.println(input_name.getAttribute("value"));//测试账号//清空input_name.clear();//输入input_name.sendKeys("李聪聪");Thread.sleep(1000);//获取value属性的内容String value = input_name.getAttribute("value");//李聪聪System.out.println(value);//输入密码driver.findElement(By.xpath("//*[@id=\"password\"]")).sendKeys("123456");Thread.sleep(1000);//单选框选择女driver.findElement(By.xpath("/html/body/table/tbody/tr[4]/td[2]/input[2]")).click();Thread.sleep(1000);//复选框选择唱歌driver.findElement(By.xpath("/html/body/table/tbody/tr[5]/td[2]/input[3]")).click();Thread.sleep(1000);//下拉表单选择陕西,这个比较特殊,先获取这个元素,然后加载成select,最后进行操作WebElement select_table = driver.findElement(By.xpath("/html/body/table/tbody/tr[6]/td[2]/select"));Select select = new Select(select_table);//下拉表单,获取其中的值List<WebElement> options = select.getOptions();//法一for (WebElement webElement : options) {String text = webElement.getText();System.out.println(text);}//法二for (int i = 0; i < options.size(); i++) {WebElement webElement = options.get(i);String text = webElement.getText();System.out.println("index"+text);}//通过顺序选择 0开始select.selectByIndex(4);//陕西Thread.sleep(1000);//通过文字选择select.selectByVisibleText("北京");Thread.sleep(1000);//点击超链接driver.findElement(By.xpath("/html/body/table/tbody/tr[8]/td[2]/a")).click();//要确定到超链接那里Thread.sleep(1000);driver.navigate().back();Thread.sleep(1000);//多行文本输入driver.findElement(By.xpath("/html/body/table/tbody/tr[9]/td[2]/textarea")).sendKeys("666666");Thread.sleep(1000);//5.关闭浏览器driver.quit();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}

 

五、各种定位方式

六、xpath语法

七、二次定位和组识别

八、iframe操作

九、延迟调用

十、xpath案例

十一、上传文案

十二、截屏处理

十三、键盘模拟焦点切换

十四、悬停操作

十五、滚动加载

十六、日期设置

十七、切换标签

十八、自动登录

十九、模块适配

二十、数据参数读取

http://www.lryc.cn/news/456261.html

相关文章:

  • 力扣LeetCode-链表中的循环与递归使用
  • AFSim仿真系统 --- 系统简解_08 传感器与特征
  • 已经安装了qt,想添加mingw组件,包含gcc等
  • 数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎(一)(20241009)
  • 信号用wire类型还是reg类型定义
  • 与鸿蒙同行,Java Solon v3.0 正式发布(向下兼容)
  • 数据驱动投资:AI在股票市场的应用
  • Tita使用小技巧:项目类型自定义,业务管理个性化
  • 国药准字:您购药的可靠指南
  • Python类学习(2)——未完待续
  • 微前端框架 qiankun 全面解析到源码实现
  • 初始化数据的正确方式?
  • Flutter平台嵌入器
  • 微信小程序——婚礼邀请函
  • WebRTC Connection Negotiate解决
  • Redis面试篇1
  • Debezium系列之:Debezium 3.0.0.Final发布
  • 一文解决jQuery表格插件DataTable导出PDF中文乱码问题
  • 使用pytorch进行迁移学习的两个步骤
  • ChatGPT相关参数示例
  • OWASP发布大模型安全风险与应对策略(QA测试重点关注)
  • 【HarmonyOS开发笔记 2 】 -- ArkTS语法中的变量与常量
  • UI自动化测试示例:python+pytest+selenium+allure
  • C/C++ 编程小工具
  • 第四十二章 使用 WS-ReliableMessaging
  • 利士策分享,婚姻为何被称为大事?
  • malloc源码分析之 ----- 你想要啥chunk
  • 软考系统分析师知识点五:数据通信与计算机网络
  • windows客户端SSH连接ubuntu/linux服务器,三种网络连接:局域网,内网穿透(sakuraftp),虚拟局域网(zerotier)
  • Python 工具库每日推荐【openpyxl 】