相关内容
最近更新
热门资讯
云测试平台开发实现方案包含哪些内容
时间:2020-10-19 来源:未知 作者:广州达内培训
我们在上文中给大家简单介绍了自动化测试需要满足哪些测试需求等内容,而今天我们就在来了解一下,云测试平台开发实现方案包含哪些内容。
云测试平台是由Java+kotlin开发,客户端控制都是基于Java实现,这里自然选择Java作为脚本语言,后续的脚本、流程说明也是以Java语言实现为主,但是在脚本语言选择上这里不是强制要求,同样可以选择Ruby、Python、PHP,、JavaScript和C#,只是后续的实现需要平台多做一步兼容而已。
在脚本执行方面没有使用类似junit、testng等其他的运行框架,主要是为了保持在运行过程中对脚本运行的控制和运行数据的交互,如下是脚本运行实现方案:
1.由平台提供一定限制范围的脚本编写能力
主要是指运行过程的脚本编写,以及如何提供类似截图、步骤日志、检查点等公用方法,对于Java来说可以将一些公共的方法抽象出来放到脚本的父对象中,通过继承将脚本编写能力赋予给脚本本身,Python也可以统一一个标准的类库,通过引入的方式使用。
2.运行时由agent动态编译编写完成的脚本,反射实例化脚本对象
运行时处理脚本需要区分动态语言和非动态语言,还是以Java、Python为例,由于没有借用其他的测试框架,触发脚本运行对于Java来说需要进行编译,也就是标题中说到的动态编译,然后通过反射实例化对象运行,这里有两个要求,先脚本编写需要在云测试平台限定的包内,其次脚本运行、继承的方法需要符合约定的规则。对于Python来说先将脚本内容以IO的方式写到内存中,然后反射通过字符串的形式,导入模块、去模块寻找约定函数执行。
3.使用反射实例对象运行脚本,并调用实例中的方法和脚本进行数据、强控制交互
实例化脚本后开始运行脚本,运行前需要将所需要的运行资料注入到实例中,例如:appium的appiumDriver,运行同时可以随时调用实例化对象中的约定方法对脚本运行进行控制,比如获取执行步骤、日志、图片,传递参数,控制脚本暂停、运行、停止等交互,这也是为什么没有使用一些其他框架来触发测试的原因。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。