作者:清清果冻儿 | 来源:互联网 | 2023-05-16 09:38
传统的自动化测试传统的自动化测试,我们可以理解为是一种基于产品UI层的自动化测试,它能够将黑盒功能测试转化为由程序或者工具去执行。所谓的UI自动化,就是通过写代码或者使用工具来录制浏览器的操作
传统的自动化测试
传统的自动化测试,我们可以理解为是一种基于产品UI层的自动化测试,它能够将黑盒功能测试转化为由程序或者工具去执行。所谓的UI自动化,就是通过写代码或者使用工具来录制浏览器的操作这些方式来代替人工执行。这里以写代码为例,自动化要做的就是通过模拟鼠标和键盘来操作界面上的元素,而操作这些元素的前提是我们需要让自动化工具准确的定位到它。因为自动化工具没有办法像我们人一样通过肉眼去辨别这些元素的位置,所以我们如何通过写代码的方式去让自动化工具知道要操作的元素在什么位置呢?
因为之前接触Selenium2 web UI自动化测试,而定位元素最常用的也就是XPath定位。何为XPath?XPath是一种在XML文档中定位元素的语言,而HTML可以看做是XML的一种实现,所以使用XPath这种强大的语言在wen应用中是最好不过了。其中使用XPath最简单最直观的就是写出元素的绝对路径,XPath主要是用标签名的层级关系来定位元素的绝对路径,最外层为html语言。在body文本内,一级一级往下查找,如果一个层级下有多个相同的标签名,那么就按上下顺序来确定是第几个,例如div[2]表示当前层级下的第二个div标签。
因为UI很容易就发生变动,所以也使得代码维护成本很高。这就意味着,UI一改,元素的位置也会跟着改变,位置一旦变动,那么原来的测试代码就已经失去了测试的意义。即使想通过修改XPath绝对路径名来继续执行测试,XPath路径名也只会变得又臭又长!如果项目时间很赶的话,光是改路径名都会改疯掉。虽然用firefox浏览器的插件firebug可以自动帮我们自动生成XPath语法,但依然难逃代码难以维护的命运。所以,接下来要提到的分层自动化测试才显得特别重要。
分层的自动化测试
分层自动化测试倡导的是从黑盒(UI)单层到黑白盒多层的自动化测试体系,从全面黑盒自动化测试到对系统的不同层次进行自动化测试。最上层的UI自动化测试代表的工具是以前的QTP到现在的selenium,而ui层测试的代表测试工具是我们的左右手。