• 自动化测试---即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 需要与浏览器版本一致,解决办法自动下载驱动,但是有网络等其它原来肯能无法下载

    1. //下载浏览器驱动
    2. WebDriverManager.chromedriver().setup();

    痛处2,selenium.NoSuchElementException: no such element  无法定位

    元素表达式正确但是始终需要切换表达,具体解决办法请参考如下两边文章

    第一个链接:本人在实战经常遇到一些问题

    selenium+webdriver+HTML 经常遇到的问题_html页面调用selenium-webdriver_Aimin2022的博客-CSDN博客

    第一个链接:主要记录selenium基础知识

    selenium + appium 自动化测试_自动化测试selenium_Aimin2022的博客-CSDN博客

    代码演示(已封装)

    /**
     * 刷新浏览器---刷新
     */
    1. public void refreshB(String time) {
    2. try {
    3. driver.navigate().refresh();
    4. } catch (Exception e) {
    5. log.error("刷新浏览器出现错误,报错内容:" + e.fillInStackTrace());
    6. }
    7. }
    /**
     * 默认元素定位方法用xpath进行输入----输入
     * @param xpath 定位xpath
     * @param content 输入内容(匹配输入验证/订单号/流水号/指定编码)
     */
    1. public void inputContent(String xpath, String content) {
    2. try {
    3. String param= updateParamValue(content);
    4. Thread.sleep(900);
    5. //log.info("输入内容:"+content);
    6. WebElement element = driver.findElement(By.xpath(xpath));
    7. element.clear();
    8. element.sendKeys(replaceParam(param));
    9. } catch (Exception e) {
    10. log.error(format("向%s元素输入%s失败", xpath, content)+",报错内容是:"+e.fillInStackTrace());
    11. }
    12. }
    /**
     * 默认使用xpath方法定位元素点击----点击
     * @param xpath 位置
     */
    1. public void click(String xpath) {
    2. try {
    3. driver.findElement(By.xpath(xpath)).click();
    4. setPass();
    5. } catch (Exception e) {
    6. log.error(format("点击元素:%s 失败,报错内容:",xpath)+e.fillInStackTrace());
    7. setFail();
    8. }
    9. }

  • 相关阅读:
    Multimodel Image synthesis and editing:The generative AI Era
    NX 1988 如何将组件转为部件
    JAVA计算机毕业设计在线学习管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
    Learn Prompt-ChatGPT 精选案例:代码助理
    vue中数组常用的六种循环方法、VUE中list的各种方法和运用
    高性能分布式对象存储——MinIO(环境部署)
    【手写系列】手把手教你如何实现 列表转树-树转列表
    内部类和权限修饰符
    自适应零信任解决方案介绍
    QTday2
  • 原文地址:https://blog.csdn.net/qq_36675754/article/details/132893669