自动化测试---即selenium

自动化测试

自动化测试的意思就是:本来是人去做测试的,现在让机器来帮你做测试。

优点体现在:

  • 节约成本
  • 提高效率
  • 减少人工去做事
  • 提高复用性

UI自动化

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 测试的工作量是非常大的。

UI 自动化测试,让你增加许多测试用例、测试套件,减少重复操作,提升测试的整体的效率。

面临的挑战

  • UI 的频繁更改:页面的 UI 很可能随时更改的,这意味着自动化测试的配置需要频繁做出改变。
  • 多种浏览器的兼容性:UI 页面涉及到许多浏览器的展示,不同浏览器就会有不同的情况产生。
  • UI 测试工具的选择:UI 测试需要选取一些 UI 测试工具来进行测试,这样可以解放双手,提高效率。

selenium使用

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();
        }
    }

你可能感兴趣的:(selenium+appium,selenium)