昆明做大的网站开发公司,万网封停慧聪网,淮北建设信息网,wordpress建站后怎样发布1. 什么是自动化
1.1 自动化概念
自动化就是解放测试人员双手#xff0c;测试工作由代码代替人工执行测试工作。
自动化不能完全代替手工测试。
自动化测试指软件测试的自动化#xff0c;在预设状态下运行应用程序或系统#xff0c;预设条件包括正常和异常#xff0c;最…1. 什么是自动化
1.1 自动化概念
自动化就是解放测试人员双手测试工作由代码代替人工执行测试工作。
自动化不能完全代替手工测试。
自动化测试指软件测试的自动化在预设状态下运行应用程序或系统预设条件包括正常和异常最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。
1.2 自动化分类 UI测试
测试对象前端页面工具Selenium、Airtest、Appium.....
接口测试
测试对象后端测试工具postman、Jmeter、requestunittest(python)、HttpClientJunit(java)....
单元测试
测试对象一个一个的方法工具Junit TestNG(java)、Unittest pytest(python)......
金字塔从下至上特点
越往上越接近用户越往上定位问题的成本越高
1.3 自动化好处
提高测试效率一定程度上保障软件质量
2. Selenium
2.1 什么是Selenium
Selenium是一个用来测试web前端的一个自动化框架
2.2 特点
开源的可以查看源码支持多语言Java、Python、C#、Ruby支持多种浏览器Chrome、Edge、Opera...有丰富的API
3. Selenium原理 1. 三个角色
1自动化脚本代码编写的自动化测试用例代码
2webdriver浏览器驱动可执行程序
3浏览器Chrome、Edge、Opera...
2. 三个角色之间的关系
启动浏览器后selenium-webdriver会将目标浏览器绑定到特定的端口启动后的浏览器则作为webdriver的remote server。 客户端(也就是测试脚本)借助ComandExecutor发送HTTP请求给sever端通信协议The WebDriver Wire Protocol在HTTP request的body中会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium我们希望浏览器接下来做什么事情。 Sever端需要依赖原生的浏览器组件转化Web Service的命令为浏览器native的调用来完成操作。
4. Selenium API
1. 验证环境搭建是否成功
2. 如何打开网页、如何关闭浏览器
3. 定位元素
CSS选择器定位
通过id选择器定位 #kwclass选择器定位 .s_ipt标签选择器定位元素 标签值父级子级定位元素 formspaninput:nth-child(2)
xpath定位
1绝对路径定位/html/body/div[1]
2相对路径定位//
相对路径索引 //form/div[1]/div[1]/input相对路径属性 //input[idusername]相对路径通配符 //*[*username]相对路径文本 //h3[text()登录]
xpath定位元素的效率没有css选择器定位元素的效率高
4. 操作测试对象
webdriver中比较常用的操作对象的方法有下面几个
click点击对象send_keys 在对象上模拟按键输入clear 清除对象输入的文本内容submit 提交text 用于获取元素的文本信息
private static void test() throws InterruptedException{//创建一个浏览器驱动WebDriver webdrivernew ChromDriver();//打开百度首页webDriver.get(https://ww.baidu .com);//输入“软件测试”webDriver.findElement(By.cssSelector(#kw)).sendKeys(冲刺班);//清除输入信息“软件测试”webDriver.findElement(By.cssselector(#kw)).clear();//获取输入框输入信息String result_stringwebDriver.findElement(By.cssselector(#kw)).getText();//若输入信息为空if(result_string.equals()){//测试通过System.out.println(测试通过);}else{//反之不通过System.out.println(测试不通过);}sleep(1000);webDriver.quit();
}
submit和click之间的区别
submit操作元素必须放在form标签下click对标签没有要求
5. 添加等待
1强制等待 sleep(5000); //休眠5秒
2智能等待 找到元素之后就会进行退出此处的时间是最大等待时长
webDriver.manage().timeouts().implictlyWait(Duration.ofSeconds(10)); //等待10秒
6. 打印信息
7. 浏览器操作
1浏览器最大化
private static void test08() throws InterruptedException{webDriver webDriver new ChromeDriver();webDriver.get(https://www.baidu.com/L);sleep(millis:3000);webDriver.manage().window().maximize();webDriver.manage().window().fullscreen();sleep(millis:3000);webDriver.quit();
}2浏览器滚动
#浏览器的前进 browser.forward() #浏览器的后退 browser.back() # 将浏览器滚动条滑到最顶端 document.documentElement.scrollTop0 #将浏览器滚动条滑到最底端 document.documentElement.scrollTop10000 示例 jsvar qdocument.documentElement.scrollTop10000 driver.execute_script(js) execute_script(script, *args) 在当前窗口 / 框架同步执行 javaScript
8. 键盘事件
9. 鼠标事件9