关于Web自动化的一些思考

怎样写好Web自动化测试框架

首先需要解决以下几个问题

1.  登录登出如何衔接

Web自动化其实就是模拟现实中的操作,通过点击页面上的元素、输入数据等来实现页面的跳转和数据的正确性验证,通常情况下Web自动化由很多自动化用例组成,每个用例即可单独运行,也可与其他用例一起连贯运行。这时,如果用例需要用户登录才能执行,那么在运行前就需要校验是否登录,如果登录即可继续运行,如果没有登录必须先登录。

2. 页面之间的衔接

还有一种情形是,有一个用例是专门针对页面3的,但在到达页面3前必须先经过页面1和页面2,这时,在运行这条用例前就需要校验当前页面是否是页面3(通常通过特征元素来判断),如果是页面3那么用例即可继续执行,否则需要先进到页面1和页面2,该用例才能继续运行。

3. 页面元素采用何种方式定位

通常是由具体的产品来决定的,常见的定位方式有id, name, CSS, Xpath,即可使用单一的定位方式,也可混合使用。CSS和Xpath更是提供了丰富的函数,几乎可以定位到页面上任何一个元素。

4. 元素和页面的等待

在运行自动化用例时,诸多因素会影响页面元素的加载时长,如果没有设置合适的等待时间,运行自动化时很可能因为找不到元素或元素不可见而失败。Webdirver里提供了丰富的等待函数可供我们使用。

5. 数据正确性的验证

自动化最重要的检查点除了检查页面的跳转就是数据的正确验证,通过什么样的方式来校验数据的正确性需要根据具体的产品来判断,例如返回的Json数据,页面上的数据显示等。

6. 测试报告

自动化运行完成后,需不要打印测试报告,报告以什么样的方式呈现(HTML, TXT等),运行完后是否需要自动在浏览器打开,报告里需要哪些信息,错误的用例需要不需要截图。


在上述问题解决后,就可以着手下面具体的细节:

1. 采用何种编程语言

例如: Java, Python, JavaScript, Ruby等

2. 使用什么自动化工具

例如: Selenium, Webdriver, QTP等

3. 有哪些现有的,好的概念和方式可供我们使用

例如: PageObject, PageFactory等

4. 对页面上共有的组件,能否提取出来

例如: 下拉框, 滚动条, 复选框, 单选框, 下拉列表, 表格等

5. 需要哪些额外的脚本语言和工具

例如: ant, maven, TestNG等


最后,分析罗列的解决方案,比较优缺点,选择最佳的组合来编写自动化框架



怎样写好Web自动化用例

1. 良好的编程习惯

以Java为例,包名、类名、方法名等都有相应的标准,遵循这些标准不仅能提高我们的书写效率,同时写出的自动化用例也易于阅读和调试。

2. 加注释

加注释,让别人能很好的理解你的用例。

3. 逻辑清晰、容易阅读

上一步操作跟下一步操作之间必要有一定的逻辑联系,且与实际的操作相同,这样的好处是出问题时能很快定位到出错点。

4. 尽量减少重复代码

这,不用赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值