在系统中找到java Selenium元素,但在Jenkins中未找到
我的团队和我最近开始使用SeleniumWeb驱动程序和JUnit开发自动化脚本。我面临着一个问题,我真的对如何继续下去失去了想法。任何建议都是有用的
问题是:我有一个页面,在其中我将两个excel上传到一个表单中,然后按下submit按钮确认上传
上载完成后,它将用数据填充数据库,下一页将确认每个excel的行数
我正在尝试获取确认上传的元素,该元素是“标签”类型
所有这些都可以在本地、我的pc(windows 7、firefox webdriver)上成功运行
当上传我的代码时,当jenkins构建/执行它时,我得到一个“未找到元素”,测试失败
因为我无法直观地访问jenkins运行的内容,所以我用getPageSource()
替换了元素确认(在jenkins上失败)
getPageSource()
返回我希望看到的页面,其中包含我试图查找的元素(本地和jenkins上)
对可能发生的事情有什么想法吗
注释:
有两个10秒的线程。睡觉一个是在上载每个excel时,另一个是在单击“提交”后,以确保加载下一页并成功提交excel
我尝试使用xpath定位元素。事实上,我在Firefox中使用了Firebug提供给我的xpath,在Chrome中使用了WebDeveloper。只是为了确保xpath没有任何问题。两个XPath都在我的本地计算机上成功地找到了元素,但在jenkins上都失败了
在执行测试(本地和Jenkins上)时,我可以看到数据库按应有的方式填充
请原谅缺少代码,但我只能分享一些东西
# 1 楼答案
尝试使用fluentwait而不是线程。睡眠()。您的元素可能在10秒内未加载您可以尝试此操作
如前所述here