python + selenium自动化环境常见问题小结
(1)操作Windows窗口有三种方法,一是使用AutoIT软件生成exe程序,再用系统命令调用;二是使用SendKeys类模拟键盘操作(只能定位当前的焦点);三是使用pywinauto组件(win32gui)
(2)pywinauto包只支持到python2.6版本。SendKeys包在python3.0版本上也无法安装成功。
(3)执行完用例进行断言校验时,一般会获取元素的text属性,有时候在页面上查看元素有text值,而获取的为空。这时,需要首先对页面刷新,再去获得text属性,一般就能获取成功。
(4)有些中间的命令在执行过程中会操作失败,如果不是命令错误,可以考虑在命令之间添加适当的等待时间,就能顺畅完成,比如输入框,弹出Windows窗口后调用exe程序等。
(5)类型为input的下拉选择框,如果用元素的text属性定位,会报“ElementNotVisibleExeception”的异常(报异常是因为定位路径直接写的text属性,应该从最近的唯一的元素ID开始,就可以点击成功。而select类型的下拉框通过两次的点击不能成功,只能用Select或scc_selector方式)。换做ID或XPATH的定位方法来定位(input类型的下拉框无法用Select或css_selector的方式选择,只能先点击输入框,等弹出下拉选项后,再点击下拉的选项,但是java+selenium可以先点击输入框,再用text的属性定位点击下拉选项)