天下武功,唯快不破——软件自动化测试工具
发表时间:2023-10-13 10:04:29
文章来源:炫佑科技
浏览次数:189
菏泽炫佑科技
天下武功,唯快不破——软件自动化测试工具
软件开发模型包括:瀑布模型、增量开发、螺旋开发、敏捷开发。 软件行业早期的开发模式主要基于瀑布模型,后来逐渐致力于敏捷开发。 软件开发效率和变更频率也会随着开发模式尤其是敏捷开发模式的变化而变化。 一些传统的自动化测试工具无法应对软件开发的快速迭代和变化,导致一些企业徒劳地进行自动化测试。 主要原因是:自动化用例构建速度慢,跟不上软件新内容; 频繁的软件变更导致巨大的用例维护成本; 而且学习成本很高。 这些都是自动化测试在中国软件行业难以立足的主要原因。
软件自动化测试工具工作流程:新建用例->调试用例->执行用例->分析结果->输出报告->维护用例。 其中:新建用例和维护用例消耗的工作量*大。 敏捷开发模式的引入,大大增加了维护工作量,甚至一度超过了新用例的工作量。 这一直是令软件自动化测试头疼的问题。
在自动化用例维护过程中,元素定位失败是一个主要原因。 我们来看看一些常用的自动化工具的元素定位原理:
1. 元件定位
以下是 + 的用例示例。 对元素的操作是基于元素id的。
from selenium import webdriver url = "http://10.98.110.44/egov-portal/egov/shIndex.html" # 打开浏览器,*大化浏览器 driver = webdriver.Chrome() driver.get( url ) driver.implicitly_wait( 10 ) driver.maximize_window() #输入账号 driver.find_element_by_id("username").send_keys(“zhangsan") #输入密码 driver.find_element_by_id("password").send_keys("ww1234") #点击登录按钮 driver.find_element_by_id("submitButton").click()
2.+
3.UFT工具元件定位方法
Dialog("Login").WinEdit("AgentName:").Set "mercury" Dialog("Login_2").WinButton("Help").Click Dialog("Login_2").Dialog("FlightReservations").Static("The password is 'MERCURY'").CheckCheckPoint("The password is 'MERCURY'") Dialog("Login_2").Dialog("FlightReservations").WinButton("确定").Click Dialog("Login").WinButton("OK").Click Window("FlightReservation").Activate Window("FlightReservation").ActiveX("MaskEdBox").Type "102715" #选择日期 Window("Flight Reservation").WinComboBox("FlyFrom:").Select "Frankfurt"
从上面的信息可以看出,元素的定位是根据元素的属性来进行的。 元素属性主要有8类:
1.ID定位:.("kw")
2.名称定位:.("wd")
3.类定位:.("s_ipt")
4.标签定位:.name("input")
5.链接定位:._text("新闻")
6.定位:.()
7.xpath定位:.h("/html/body/div[2]/div/form/div/input")
8.CSS定位:。
在现有的自动化软件中,使用上述八种定位方法之一来定位元件。 如今自动化软件开发,真正的测试环境往往并不像我们想象的那么平静。 页面上有很多重复的 id、name 和 tag。 也许当我们编写不重复的用例时,经过一轮版本修改后,它们可能会变得重复。 XPath 失败的可能性*小,但由于父节点的修改而失败的情况很常见。
因此,自动化设计人员忙于维护用例,工作量非常巨大。
2008年,市场上出现了一款支持智能元件定位的软件。 我很感兴趣,就去研究了一下。 该软件的用例主要是通过记录生成的。 录制生成一些可视化脚本,如下图: 录制脚本就是打开一个页面,点击一个按钮。
上图展示了点击按钮的步骤。 步骤中记录了按钮的多个属性:title|alt、src、alt、xpath及其子信息。 有些属性无法唯一定位元素(页面中有重复),例如: 。 记录了按钮元素的所有身份信息。 当作者尝试修改页面代码中title|alt的值时,页面中title|alt的值重复出现。 回放脚本时,仍然正常运行。 恢复title|alt值,重复上述修改步骤,其他属性值一一修改。 还是不影响脚本运行。 通过测试天下武功,唯快不破——软件自动化测试工具,我们发现修改按钮的任何属性都不会影响脚本的执行。
通过阅读官网信息,据说元素定位是基于元素的一系列属性,而不是依赖于某个属性。 它采用了元素的智能定位算法。
在软件自动化测试领域,元素定位确实表现突出,大大提高了自动化用例执行的稳定性,节省了用例维护成本。
炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等