首页 > 解决方案 > Selenium/Katalon 在 jenkins 或 headless 中运行时无法获取 webelement 的文本

问题描述

我有一个按钮的文本<span _ngcontent-c4="" class="btn__text">FOO</span> 当运行 Katalon (6.3.3) 测试本地时一切正常,但是在詹金斯中运行时,文本 FOO 被加载为空字符串。要捕获我正在使用的 FOO 文本:

WebUI.verifyElementText(findTestObject('TC01/header/button_FOO'), "FOO")

即使将元素转换为org.openqa.selenium.WebElement并使用element.getText(),本地运行也可以很好地获取文本 FOO 并且在詹金斯中:

ERROR c.k.k.core.keyword.internal.KeywordMain  - ? Actual text '' and expected text 'FOO' of test object 'Object Repository/TC01/header/button_FOO' are NOT matched.

即使在詹金斯运行中,以同样的方式测试页面标题也能正常工作。

在詹金斯图像中是 Google Chrome 79.0.3945.88 和 ChromeDriver 79.0.3945.36

在本地机器上是 Chrome 79.0.3945.88 和 ChromeDriver 79.0.3945.36

jenkins 映像是 linux,我在 Win 10 上。

在我添加参数 --headless 后,本地运行也开始出现问题。

标签: seleniumjenkinskatalon-studio

解决方案


通过添加参数解决--window-size=1920x1080。现在即使在詹金斯中也能正常工作。


推荐阅读