Java 黄瓜自动测试无法通过Jenkins找到元素
当我在远程主机上通过jenkins运行Cucumber上的java测试时,我的java测试出现问题 我的代码: 步骤: 从属性“bla blalink”给定打开的链接 并键入“UserName”属性,在“LoginPage”上输入“login” 要素:Java 黄瓜自动测试无法通过Jenkins找到元素,java,selenium,jenkins,cucumber,autotest,Java,Selenium,Jenkins,Cucumber,Autotest,当我在远程主机上通过jenkins运行Cucumber上的java测试时,我的java测试出现问题 我的代码: 步骤: 从属性“bla blalink”给定打开的链接 并键入“UserName”属性,在“LoginPage”上输入“login” 要素: @NameOfElement("UserName") @FindBy(id = "UserName") public SelenideElement username; step def: @And("^type to inp
@NameOfElement("UserName")
@FindBy(id = "UserName")
public SelenideElement username;
step def:
@And("^type to input with name \"([^\"]*)\" property: \"([^\"]*)\" on \"([^\"]*)\"$")
public void typeToInputWithNamePropertyOn(String nameOfElement, String property, String page) throws InterruptedException, IOException {
sleep(5000);
Properties properties = new Properties();
try (FileReader fileReader = new FileReader(Constants.PROPERTY_PATH)) {
properties.load(fileReader);
}
if ("LoginPage".equals(page)) {
loginPage.get(nameOfElement).sendKeys(properties.getProperty(property));
} else if ("MainPage".equals(page)) {
mainPage.get(nameOfElement).sendKeys(properties.getProperty(property));
} else if ("ActionPage".equals(page)) {
actionPage.get(nameOfElement).sendKeys(properties.getProperty(property));
}
}
配置:
@BeforeClass
static public void setupTimeout() {
/////////////////////////////////for remote runs////////////////////////////////
// Configuration.remote = "http://10.52.185.105:4419/wd/hub";
// Configuration.browser = "chrome";
// DesiredCapabilities capabilities = new DesiredCapabilities();
// capabilities.setBrowserName("chrome");
// capabilities.setCapability(ACCEPT_SSL_CERTS, true);
// WebDriver wd = new RemoteWebDriver(new URL("http://10.52.185.105:4419/wd/hub"), capabilities);
// setWebDriver(wd);
///////////////////////////////////for local runs////////////////////////////
Configuration.timeout = 10000;
System.setProperty("webdriver.chrome.driver", "src/main/resources/webdrivers/chromedriver.exe");
Configuration.browser = "chrome";
我尝试的是:
它在本地工作
它在远程机器上工作(没有jenkins)
更改窗口大小-没有帮助
更改35000毫秒的睡眠时间-没有帮助
我们的詹金斯
不是作为服务开始的,所以我不知道如何允许与元素交互
输出:
T T S T S
跑步ru.open.runners.BusinessPortalTest
2018年9月13日上午9:55:27 com.codeborne.selenide.impl.WebDriverThreadLocalContainer getWebDriver
信息:没有webdriver绑定到当前线程:1-让我们创建新的webdriver
在端口5610上启动ChromeDriver 2.38.552522(437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb)
只允许本地连接。
2018年9月13日上午9:55:31 org.openqa.selenium.remote.ProtocolHandshake createSession
信息:检测到的方言:OSS
2018年9月13日上午9:55:33 com.codeborne.selenide.webdriver.WebDriverFactory logBrowserVersion
信息:BrowserName=chrome版本=67.0.3396.87平台=XP
2018年9月13日上午9:55:33 com.codeborne.selenide.webdriver.WebDriverFactory createWebDriver
信息:赛琳娜五世。4.11.4
2018年9月13日上午9:55:33 com.codeborne.selenide.webdriver.WebDriverFactory logSeleniumInfo
信息:SeleniumWebDriver v。3.12.0建造时间:2018-05-08T14:04:26.12Z
2018年9月13日上午9:55:33 com.codeborne.selenide.impl.WebDriverThreadLocalContainer createDriver
信息:在当前线程1中创建webdriver:ChromeDriver->ChromeDriver:chrome on XP(9879008c2825cc8b84a452e24010d66d)
失败的场景:
businessportaltest.功能:440#场景:更改电话号码
157222(仅通过付款单验证)
1个场景(1个失败)
29个步骤(1个失败,27个跳过,1个通过)
0m18.951s
java.lang.IllegalArgumentException:错误:在ru.open.pageobjects.businessportal.LoginPage页面上没有名为“”的元素
在ru.open.pageobjects.AbstractPage.get(AbstractPage.java:27)
在ru.open.steps.MyStepdefs.typeToInputWithNamePropertyOn(MyStepdefs.java:63)
在?处输入,并在“登录页面”(businessportaltest.feature:443)上输入名称为“МзПзззззззаааааа
远程计算机-windows server 2012R是否可以添加驱动程序的初始化代码?配置。超时=10000;System.setProperty(“webdriver.chrome.driver”、“src/main/resources/webdrivers/chromedriver.exe”);Configuration.browser=“chrome”——-只有这一点,我还应该添加其他内容吗?像WebDriver wd=etc,你添加到驱动程序中的色度选项是什么?正如我所说的,只有他的路径,在本地工作正常;)