书接上回,咱们说到终于在Linux下发现一个比较靠谱的界面自动化测试工具T Driver(Testabilitydriver)。但tdriver库是用ruby封装的,而我们之前已有一套windows下的python的测试框架,如果要使用tdriver就可能需要将整个python测试框架在ruby下重新实现一遍,或者是找一下有没有python封装的tdriver库。python封装的tdriver库没有找到,但我们想到了另一种解决方案——寻找一种可以实现python调用ruby方法的方案借此实现像windows下使用COM一样在python下调用tdriver库。
之后我们找到了RPC(Remote Procedure Call Protocol远程过程调用协议),这是一套可以实现跨语言,跨平台的调用协议。简单验证通过RPC从python去调用ruby下的方法没有什么问题,当然返回的类型仅限于简单类型(如int,string,dict等)。
ruby下需要引用如下库:
require "xmlrpc/server"
python下需要引用如下库:

本文介绍了在Linux环境下,利用RPC协议实现Python调用Ruby封装的T Driver进行界面自动化测试的方法。面对跨语言调用的问题,通过RPC解决了Python与Ruby的交互,同时为适应现有Python测试框架,对TDriver进行了异常处理和封装。然而,TDriver的非线程安全性导致需要额外的锁机制来确保线程安全。目前,Linux界面自动化测试方案已经初步建立,未来将继续完善和分享实践经验。
最低0.47元/天 解锁文章
1360

被折叠的 条评论
为什么被折叠?



