我正在尝试使用selenium检查我的自动登录是否成功。由于我的应用程序支持多种登录类型,因此我依靠常用的id元素(注销和signOut)和关键字(注销/注销)来识别登录是否成功。
在大多数情况下,逻辑是有效的,但在某些情况下,应用程序在load index.html上有两个不同的页面,其中有注销按钮和实际的页面源代码(例如dashboard.html)。
当我使用selenium驱动程序注销时,我得到了仪表板的源代码,因此我的测试用例失败了,因为源代码不包含getPageSource关键字。
当urls加载时,获取所有页面的html源代码的最好方法是什么?
发布于 2017-08-01 05:05:30
通常分析页面的源代码来定义当前的应用程序状态是错误的方法:可能有JS、Ajax脚本、CSS /其他代码可以修改应用程序的行为和浏览器页面的呈现。
这就是为什么WebDriver团队的目标是测试用户看到的实际页面UI。因此,WebDriver测试应该测试浏览器中出现的元素,并依赖于不同元素的定位技术。
我推荐使用元素id和xpath来定位LogOut / LogIn按钮,本例中使用了explicit waits。请勿使用页面源-使用页面上的元素。
https://stackoverflow.com/questions/45425084
复制相似问题