前言:如今的时代,是互联网的时代。各种各样的IT新技术层出不穷,但持续不变的是对智能化、效率的追求,这就要求科技公司在技术研发的过程中对自动化测试的需求越来越迫切,要求也越来越高。测试人员不仅要了解业务需求,更要了解技术框架,尤其是有着框架搭建能力储备的人员更受青睐。而本文可以理论结合实践,来帮助各位基础人员搭建常规自动化测试框架,为个人技能储备添砖加瓦。
需要基础(要什么自行车,直接上):开发基础弱的测试小白;会写java版本的HelloWorld;能编写java代码并自我调试优化;希望用工具替代日常重复性工作,从而提高效率早点下班的。
下面,就跟我一起来试试吧(本期讲解百度首页搜索的UI自动化环境搭建)
第一步:先扫盲自动化测试的一些概念点,自行找度娘即可(就这么小白的问题也要问我,不用问,你肯定就是懒)。
这都不会么:
a.什么是自动化测试,和普通的功能测试有什么区别,在效率上有什么好处?
b.自动化测试框架搭建起来后是不是不需要人管了?
c.自动化测试框架中的selenium框架是什么?如何安装框架插件?
d.什么样的系统可以做自动化测试?
第三步:编写百度首页搜索测试代码
a.编写自动化测试的UI框架代码
以上是自动化测试框架中最基本的自动打开目标网址的操作,其中涉及几个知识点:import的WebDriver和ChromeDriver是何用处?WebDriver的常用方法?
b.获取百度搜索页的UI元素的唯一标识,如ID/name/xpath等来定位目标元素,这是UI自动化操作中最为繁琐精细的一步。一旦元素标识改变,就必须重新定位,否则就可能会找不到元素而导致测试案例失败。由此建议定位元素一定要找带有特殊唯一标识且不容易改变的。具体方法如下:
//元素ID,页面中的格式:
WebElement element = driver.findElement(By.id("translateContent"));
//当同样查询条件会获取多个元素时,会返回所有查询到的结果list。而findElement方法只会返回页面树状结构中自上而下的第一个满足条件的元素:
List elemenets = driver.findElements(By.partialLinkText("有道"));
c.获取到需要的元素之后,就可以对其进行点击/输入/删除等操作,分别使用element.click, element.input, element.clear等方法。具体可以看WebElement接口的定义,也可以在实现接口的基础上重写对应的方法。
第四步:编写测试案例结果验证代码。
在案例的操作执行完成之后,我们需要通过对页面结果的识别来判断案例是否执行成功,如识别页面中若出现“退出”、“登录成功”元素或文字内容来表示登录成功,如识别页面中返回“交易成功”文字来表示交易执行成功,如识别数据库中交易状态变更来判断等等。
识别页面元素的获取和第三步中的元素定位方法一致,识别数据库中的字段变更在后续进行详细介绍。
验证可以使用junit.framework.Assert. assertTrue方法,将结果值和预期进行比较输出案例的结果。
以上,就是小白版本的selenium+java的UI自动化框架搭建。
后续还会整理分享,敬请期待:
*如何使用excel来实现数据驱动,由代码自动识别读取入参
*如何使用不同类型的唯一标识来获取页面元素
*如何在代码中实现快速链接数据库并操作数据库字段
*如何将案例失败的UI结果截图保存在本地
*如何安装完整版的开发环境
欢迎留言回复分享课题
领取专属 10元无门槛券
私享最新 技术干货