自动化测试的意思就是:本来是人去做测试的,现在让机器来帮你做测试。
优点体现在:
1、关于UI自动化大家常见工具或者框架有:AutoIt V3 、selenium、uiautomator2、Appium、adb、ATX-Test、Airtest、ATXServer2、STF、TestCafe、Robot Framework、QTP、Playwright 等等
UI自动化测试,能确保你的 UI 界面逻辑操作正常运行。UI 界面的情况是非常多的,不同用户使用不同数据在不同的浏览器和端上做一些操作,不定因素非常多,所以 UI 自动化测试是一个对于 UI 界面检验的一个非常好的办法,比较 UI 测试的工作量是非常大的。
UI 自动化测试,让你增加许多测试用例、测试套件,减少重复操作,提升测试的整体的效率。
Selenium 是一个免费(开源)的自动化测试框架,用于验证不同浏览器和平台上的 web 应用程序。你可以使用多种编程语言,如 Java、C#、Python 等来创建 Selenium 测试脚本。使用Selenium测试工具进行的测试通常被称为 Selenium Testing。
痛处1,selenium webdriver 需要与浏览器版本一致,解决办法自动下载驱动,但是有网络等其它原来肯能无法下载
- //下载浏览器驱动
- WebDriverManager.chromedriver().setup();
痛处2,selenium.NoSuchElementException: no such element 无法定位
元素表达式正确但是始终需要切换表达,具体解决办法请参考如下两边文章
第一个链接:本人在实战经常遇到一些问题
selenium+webdriver+HTML 经常遇到的问题_html页面调用selenium-webdriver_Aimin2022的博客-CSDN博客
第一个链接:主要记录selenium基础知识
selenium + appium 自动化测试_自动化测试selenium_Aimin2022的博客-CSDN博客
/** * 刷新浏览器---刷新 */
- public void refreshB(String time) {
- try {
-
- driver.navigate().refresh();
- } catch (Exception e) {
- log.error("刷新浏览器出现错误,报错内容:" + e.fillInStackTrace());
- }
- }
/** * 默认元素定位方法用xpath进行输入----输入 * @param xpath 定位xpath * @param content 输入内容(匹配输入验证/订单号/流水号/指定编码) */
- public void inputContent(String xpath, String content) {
- try {
- String param= updateParamValue(content);
- Thread.sleep(900);
- //log.info("输入内容:"+content);
- WebElement element = driver.findElement(By.xpath(xpath));
- element.clear();
- element.sendKeys(replaceParam(param));
- } catch (Exception e) {
- log.error(format("向%s元素输入%s失败", xpath, content)+",报错内容是:"+e.fillInStackTrace());
- }
- }
/** * 默认使用xpath方法定位元素点击----点击 * @param xpath 位置 */
- public void click(String xpath) {
- try {
- driver.findElement(By.xpath(xpath)).click();
- setPass();
- } catch (Exception e) {
- log.error(format("点击元素:%s 失败,报错内容:",xpath)+e.fillInStackTrace());
- setFail();
- }
- }