简介
PO(PageObject)设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Page 类,并以页面为单位来写测试用例,实现页面对象和测试用例的分离。
数据驱动测试(DDT)是一种方法,其中在数据源的帮助下重复执行相同顺序的测试步骤,以便在验证步骤进行时驱动那些步骤的输入值和/或期望值。
无论是 PO 设计模式还是数据驱动测试,其实都是目前测试工程师在编写自动化测试框架中的常用技巧与设计模式。而以前复杂的设计模式与框架,可以利用ChatGPT轻松生成,只需要在其基础之上做适当的调优即可。
实践演练
- 提示词:请示使用PO设计模式编写一个Web自动化测试脚本,要求使用到pytest测试框架和selenium web自动化框架。
ChatGPT返回的代码如下:
以上的代码只满足 PO 设计模式的需求,但是不满足数据驱动测试的需求,所以可以进一步优化提示词,要求用户名密码使用参数化以及数据驱动的方式传入。
- 提示词:现在用户名密码,需要使用数据驱动+参数化的方式传入,请修改你的 test_login 的代码。
- 提示词:测试数据要求放在一个yaml文件中,然后代码读取该yaml文件
由此一步步的优化提示词以及ChatGPT的响应信息,即可让ChatGPT逐步满足需求。
总结
- 写清楚需求:明确生成的框架使用的技术栈,比如示例中的 python + selenium。
- 将复杂的任务拆分为更简单的子任务:将PO设计模式与数据驱动测试拆成两个提示词进行提问,方便后续进行纠正。
- 系统地测试变化: 当返回信息不满足需求,可以进一步提出要求,比如一开始ChatGPT理解的数据驱动通过变量实现即可,可以进一步补充为通过文件。