Winxp使用robotframework的总结:
1.[endif]Winxp(sp3 win32位的)不支持robotframework打包的chroma浏览器,因为winxp支持到40多,打包的chroma是60多的版本。下载ie8浏览器并安装。Ie8是appform支持的浏览器。
2.[endif]使用ie8浏览器手动将安全中的四个选项降到最低。
3.[endif]下载了ie8(winxp32)的驱动。(驱动器网址【转】:https://blog.csdn.net/mask5726/article/details/24017653,http://selenium-release.storage.googleapis.com/index.html?path=2.41/),然后将驱动放到python/Script下面。
4.[endif]自动化打包的Psutil库函数版本是6.x.x,psutil支持winxp的最后一个版本是3.4.2,所以需要更换psutil库。下载https://pypi.org/project/psutil/3.4.2/#files中psutil-3.4.2-cp27-none-win32.whl,将该文件解压(后缀名改成.zip就能解压了)。然后将解压后的文件夹放到python/Lib/site-package/下面。
5.[endif]在测试的过程中出现运行失败等问题,记得执行自动化包中的install。
6.[endif]测试中出现一个奇怪的现象就是,循环启动应用和桌面的时候,如果不是共享的case就可以,没有问题,但是观察者启动共享的应用或桌面时就会出现,第二次无法使用select windows关键字,该关键字深入跟踪过,但是跟踪了十几个函数后还是有问题,大致推测是(登陆appform后,selenium2library库会记录一个会话id,然后,当再次执行select windows,会先根据给的title找窗口,并且用session id去定位具体哪个窗口,这个时候就通过分配的端口号和地址去找驱动服务器请求信息,驱动服务器无响应,所以没有返回,会hault在select windows上)。该问题和驱动的实现有关系,驱动有些代码是不透明的,没法继续跟踪,所以找到了一个workrun的方法,就是在库函数select windows中屏蔽一段代码,副作用不详。
原代码:
try:
return self._current_browser().get_current_window_handle()
except NoSuchWindowException:
pass
finally:
self._window_manager.select(self._current_browser(), locator)
修改后:
try:
return self._current_browser().get_current_window_handle()
except NoSuchWindowException:
pass
finally:
print “pass”
#self._window_manager.select(self._current_browser(), locator)
这次调研学到的东西:
1.psutil-3.4.2-cp27-none-win32.whl后缀.whl文件是解压后直接可以放到python/lib/site-package包中直接使用的不用注册到注册列表中。哪些exe的包,大部分都是向注册表中写东西的,或者path中写变量的,这个不用,只要python的路径可以访问就可以。
2.psutil-3.4.2-cp27-none-win32.whl,后缀.whl直接可以修改成.zip,然后正常解压。
3.调试别人的代码时,可直接给那个对象赋一个方法,eg:
还有一种定位问题的方法:就是在别人代码的对象中,写一个把信息打印到文件的方法,然后调用。
4.学会舍弃代码,定位问题,还有就是试着屏蔽出错的代码看是否能运行。