重构一下脚本,使用 xunit,在 teardown 函数里面加返回主界面的逻辑。
#6 楼 @chenhengjie123 谢谢你的提问,下面是对你的问题的解释,都是我自己的想法,不一定对。
我的目标人群是测试人员,他们大部分的工作是测试设计和测试执行,但也有写自动化脚本的任务。他们精于对某个 domain 的测试设计,能看出平常人看不出的问题,但编程的经验比较少,不懂设计模式,不同重构代码来提高代码可维护性。我的目标是提供一个通用的工具,具有详细的文档和直观的 API,让他们照着模板就能写出不错的自动化脚本,最好还有各个平台的一键化配置。对 webdriver API,我觉得它作为一个 CS 的通信协议是不错的,但 selenium 和 appium 的上层 API 还可以更加完善。
如果没有好的编程经验,一段时间的迭代之后,测试脚本库就会臃肿不堪,没法维护,于是我们又得重写脚本 这段在第一段已经描述。 对于 tester,换一个项目的成本很高,之前项目的经验有时候很难在现有的项目复用 这段我考虑的是测试工程师的核心竞争力问题。比如我在 windows 上做了几年自动化,对 windows 上的技术熟了,然后公司方向变了,开始移动互联化,开始做 Android……这个时候我之前的工具使用经验就基本没用了,当然厉害的人能从之前的经验中吸取营养,用在后来的项目上,但学习成本挺高了。
XML 的易用性和可读性还可以,比不上专门为人设计的 UI,但比 Json 这种 for 编程的交互格式好一些。我以后可以做一个专门的编辑器来增强可读性,当然没有 schedule。 PageObject 也是一种增强代码可读性/可维护性的方法,但和 AppMap 有一些区别(我草草看了一下 PageObject 资料,有错误的评论请指正)
#2 楼 @chenhengjie123
是的,AXUI 对 windows,web,mobile 都支持,还可以通过扩展支持更多的 API,这个是最初设计的一个 feature。
本人做手动测试有一段时间了,也写过一些 UI 自动化的测试脚本,感觉现在的 UI 自动化工具对我们写脚本的 tester 并不友好,如果没有好的编程经验,一段时间的迭代之后,测试脚本库就会臃肿不堪,没法维护,于是我们又得重写脚本。而且与 programmer 不同,对于 tester,换一个项目的成本很高,之前项目的经验有时候很难在现有的项目复用。因为不同项目根据 team 的风格不同,选择的库,语言,测试的思想都千差万别,碎片化蛮严重。所以我选择在我熟悉的 UI 自动化测试方面,想贡献自己的一份力量,总结一下 UI 自动化测试的经验,让写脚本的 tester 的少走一点弯路,日子好过一点。AXUI 库只是其中一个部分,更重要的是 practice 文档,API 文档,脚本模板。需要大家的支持。