自动化测试---即selenium

2023-09-15 01:57:38

自动化测试

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

优点体现在:

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

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

更多推荐

邮件数据安全案例 | 有一种遇见,叫相见恨晚

Mr.赵回忆和联通相遇的时刻,他说,用一句诗来形容恰如其分,“众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”。中国联合网络通信集团有限公司在国内31个省(自治区、直辖市)和境外多个国家和地区设有分支机构,以及130多个境外业务接入点,拥有覆盖全国、通达世界的现代通信网络和全球客户服务体系。“大联接”用户规模超过9亿。

智慧云图书馆: 能支撑智慧图书馆服务体系的图书馆管理与服务平台

一、开源项目简介柏拉图PLATO智慧云图书馆:能支撑智慧图书馆服务体系的图书馆管理与服务平台。二、开源协议未使用主流开源协议三、界面展示四、功能概述平台优势总分馆架构:不再是信息的孤岛,而是共享信息的平台。友好的界面:通过简洁易用的平台界面,提高工作效率。智能的平台:不仅仅是管理平台,更是智能的连接和服务平台。服务大数

Tomcat部署及优化

Tomcat部署及优化一、Tomcat1.Tomcat简介2.Tomcat核心组件2.1什么是servlet2.2什么是JSP3.Tomcat的作用4.Tomcat组件结构4.1Container结构分析5.Tomcat请求过程二、Tomcat服务部署1.安装JDK1.2设置JDK环境变量2.安装启动Tomcat2.1

【转载保存】词性还原和词干的区别

词形还原(lemmatization),是把一个任何形式的语言词汇还原为一般形式(能表达完整语义),而词干提取(stemming)是抽取词的词干或词根形式(不一定能够表达完整语义)。词形还原和词干提取是词形规范化的两类重要方式,都能够达到有效归并词形的目的,二者既有联系也有区别现将共同点和联系总结为以下4方面:(1)目

python教程:使用gevent实现高并发并限制最大并发数

嗨喽~大家好呀,这里是魔王呐❤~!python更多源码/资料/解答/教程等点击此处跳转文末名片免费获取importtimeimportgeventfromgevent.poolimportPoolfromgeventimportmonkey#一,定义最大并发数p=Pool(20)#二,导入gevent猴子补丁,没有它,

玩转Nginx

Nginx是什么Nginx(enginex)是一款的Web服务器、反向代理服务器,能够实现前端Web应用的部署、请求反向代理及负载均衡处理等功能。特点轻量,占用内存少高可靠高并发、高性能可扩展性好支持热部署BSD许可证(开源、可修改再发布)反向代理(ReverseProxy)客户端请求某个网络资源。这个请求会发送到反向

基于Kintex UltraScale系列FPGA KU060/KU115高性能PCIe数据预处理载板(5GByte/s带宽)

PCIE702是一款基于PCIE总线架构的高性能数据预处理FMC载板,板卡具有1个FMC+(HPC)接口,1路PCIex8主机接口、1个RJ45千兆以太网口、2个QSFP+40G光纤接口。板卡采用Xilinx的高性能KintexUltraScale系列FPGA作为实时处理器,实现FMC接口数据的采集、处理、以及背板接口

Stability AI推出Stable Audio;ChatGPT:推荐系统的颠覆者

🦉AI新闻🚀StabilityAI推出StableAudio,用户可以生成个性化音乐片段摘要:StabilityAI公司发布了一款名为StableAudio的工具,用户可以根据自己的文本内容自动生成音乐或音频。免费版可生成最长20秒音乐片段,Pro订阅用户可生成最长90秒的音频内容。该公司希望这款工具能够激发音乐爱

JS Set和Map数据结构

Set和Map数据结构1.Set数据结构1.1Set增删改查1.1.1add()方法1.1.2delete()1.1.3has()1.1.4clear()1.1.5size1.2Set遍历方法1.2.1keys()1.2.2values()1.2.3entries()1.2.3forEach()2.Map数据类型2.1

最大限度节省采购成本的七种方法

当前经济环境下,降低成本比以往任何时候都更受到企业的重视。降低成本通常是指在采购过程中节省的成本,但其实远不止于此。它还包括通过重新谈判合同条款和条件、改进管理和运营流程,以及数据和技术的智能使用而节省的成本。节省采购成本的七种方法虽然采购成本不可能完全消除,但采购专业人员可以采用一些技巧和方法来减少这些支出。1.重新

【前端知识】Three 学习日志(一)—— Three.js 的简单尝试

Three学习日志(一)——Three.js的简单尝试Three.js是一个使用JavaScript编写的轻量级3D图形库,它可以在浏览器中渲染出3D场景。在学习Three.js的过程中,建立基本场景是一个重要的第一步。通过设置相机、场景和渲染器等组件,可以创建一个简单的3D场景。在建立基本场景之后,可以通过添加模型、

热文推荐