【发布时间】:2018-05-21 01:05:37
【问题描述】:
And(/^Click The Status Tab$/) do
# statusTab = driver.link(id: "tab3")
statusTab = driver.link visible_text: "STATUS"
statusTab.wait_until_present
if statusTab.exists?
statusTab.click
puts "Status Tab Clicked"
else
fail "Could NOT locate Status Tab"
end
end
正如您在上面的代码中看到的那样,我尝试通过 'id' 和 'visible_text' 使用定位器“link”。 上面的代码在我的本地计算机上运行良好。我尝试在无头模式下使用 chromedriver 和 chromedriver 运行它。我也尝试在本地计算机上使用 Jenkins。
但是,在 AWS 的 Jenkins 服务器上运行它时失败了。 我的黄瓜报告中出现以下错误:
unknown error: Element <em>...</em> is not clickable at point (146, 16). Other element would receive the click: <li>...</li>
(会话信息:无头 chrome=62.0.3202.62) (驱动信息:chromedriver=2.33.506092 (733a02544d189eeb751fe0d7ddca79a0ee28cce4),platform=Linux 4.4.0-1039-aws x86_64) (Selenium::WebDriver::Error::UnknownError)
有没有办法解决这个问题?
【问题讨论】:
-
你为什么要为 Watir 标记这个问题?我没有看到上面的 watir 代码,我看到的看起来像 webdriver 代码。
-
@ChuckvanderLinden 所有这些都是 WATIR 代码,显然是 WATIR 代码!他使用变量驱动程序而不是b,仅此而已。看他调用的函数,
link,wait_until_present -
@FMD,您的页面是否使用响应式/自适应设计?如果你在本地把浏览器变小,它还能用吗?
-
哦,我明白了...必须展开屏幕截图才能看到实际代码。 (在查看主要问题时不可读。我看到了他包含的错误,这足以知道发生了什么。顺便说一句,由于“驱动程序”是 webdriver 的约定,我认为我们应该不鼓励使用在 Watir 中编码时作为浏览器对象的名称.. (我的意思是清楚人们可以做他们喜欢做的事,但它确实会引起混淆并让人认为它是一个 webdriver '驱动' 对象)
-
@JustinKo yuph。它在我的本地计算机上运行正常。
标签: ruby amazon-web-services jenkins automation watir