如果我的自动登录成功与否,我正在尝试使用selenium进行检查。由于我的应用程序支持多种登录类型,因此我依赖常用的id元素(logout和signOut)和关键字(logout / signout)来识别登录是否成功。
在大多数情况下,逻辑可以工作,但在某些情况下,应用程序在load index.html上有两个不同的页面,它们具有注销按钮和实际的页面源代码(例如,表示dashboard.html)。
当我使用selenium驱动程序getPageSource时,我获得了仪表板的源代码,因此我的测试用例失败,因为源代码不包含logout关键字。
当网址加载时,为所有网页获取html源代码的最佳方法是什么?
答案 0 :(得分:0)
通常分析页面的源代码来定义当前的应用程序状态是错误的方法:可能有JS,Ajax脚本,CSS /其他代码可以修改应用程序行为&浏览器页面的渲染。
这就是为什么WebDriver团队的目标是测试用户看到的实际页面UI。因此,WebDriver测试应该测试浏览器中存在的元素并依赖于不同元素的定位技术。
我建议使用元素ID,xpath来定位LogOut / LogIn按钮,并在您的情况下使用explicit waits。不要使用页面源 - 使用页面上的元素。