我对Cucumber的java测试有问题。
我的代码:
步骤:
给出属性“bla-blalink”的开放链接 并输入名称为“UserName”的输入:“LoginPage”上的“login”
元素:
@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) 改变窗口大小 - 没有帮助 改变睡眠35000ms - 没有帮助
我们的詹金斯 不是作为服务开始的,所以我不知道如何允许与元素进行交互输出:
运行ru.open.runners.BusinessPortalTest июн13,201889:55:27 AM com.codeborne.selenide.impl.WebDriverThreadLocalContainer getWebDriver 信息:没有webdriver绑定到当前线程:1 - 让我们创建新的webdriver 在端口5610上启动ChromeDriver 2.38.552522(437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb) 仅允许本地连接。 июн13,201889:55:31 AM org.openqa.selenium.remote.ProtocolHandshake createSession 信息:检测到的方言:OSS июн13,201889:55:33 AM com.codeborne.selenide.webdriver.WebDriverFactory logBrowserVersion 信息:BrowserName = chrome版本= 67.0.3396.87平台= XP июн13,201889:55:33 AM com.codeborne.selenide.webdriver.WebDriverFactory createWebDriver 信息:Selenide v.4.11.4 июн13,201889:55:33 AM com.codeborne.selenide.webdriver.WebDriverFactory logSeleniumInfo 信息:Selenium WebDriver v.3.12.0 build time:2018-05-08T14:04:26.12Z июн13,201889:55:33 AM com.codeborne.selenide.impl.WebDriverThreadLocalContainer createDriver 信息:在当前主题1中创建webdriver:ChromeDriver - > ChromeDriver:XP上的chrome(9879008c2825cc8b84a452e24010d66d)
失败的情况: businessportaltest.feature:440#场景:更改电话号码
1个场景(1个失败) 29个步骤(1个失败,27个跳过,1个过去) 0m18.951s
java.lang.IllegalArgumentException:错误:在页面ru.open.pageobjects.businessportal.LoginPage中没有名称为Имяпользователя的元素。 在ru.open.pageobjects.AbstractPage.get(AbstractPage.java:27) at ru.open.steps.MyStepdefs.typeToInputWithNamePropertyOn(MyStepdefs.java:63) 在?。输入名称为“Имяпользователя”的输入属性:“LoginPage”上的“登录”(businessportaltest.feature:443)
远程机器 - Windows Server 2012R