我正在尝试运行一个针对Internet Explorer的TestNG套件。然而,它似乎无法使用CSS定位器在网页上查找元素。我使用@FindAll注释来指定多个定位策略,这些策略对Chrome和Firefox都很有效。以下是我在TestNG失败摘要中看到的错误:
org.openqa.selenium.WebDriverExc0019:(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时: 70毫秒构建信息:版本:'2.53.0',修订:'35ae25b',时间:'2016-03-15 17:00:58'系统信息:主机:'(主机名在此省略)',ip:'10.18.28.53',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'1.8.0_91'驱动程序信息:org.openqa.selenium.ie.InternetExplorerDriver功能[{BrowserAttachTimeout=0,ie.enableFullPageScreenshot=true, enablePeristentHover=true,ie.forceCreateProcessApi=false,ie.forceShellWindowsApi=false, pageLoadStrategy=正常,忽略设置=false,ie.fileUploadDialogTimeout=3000, version=11,平台=WINDOWS, nativeEvents=true,ie.ensureCleansession=false, elementScrollBeasior=0,ie.browser命令行开关=,要求WindowFocus=false, BrowserName=Internet Explorer,初始化BrowserUrl=http://localhost:28843/, javascriptEn的=true,忽略保护模式设置=false, enableElementCacheCleanup=true,意外警报行为=解除}]会话ID: 3ccb2fc8-aac7-484c-8a0d-ca8c8539742e***元素信息:{使用=CSS选择器,值=#内容
下面是正在运行的代码块:
TestBaseSetup类代码段:
public class TestBaseSetup
{
private static WebDriver driver;
private static Logger Log = Logger.getLogger(TestBaseSetup.class.getName());
static String driverPath = "C:\\Users\\bberndt\\eclipse\\Selenium Files\\";
public static WebDriver getDriver()
{
return driver;
}
private static WebDriver initIEDriver(String appURL)
{
Log.info("Launching Microsoft Internet Explorer with new profile");
File file = new File(driverPath + "IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver();
Log.info("Driver instantiated");
driver.manage().window().maximize();
Log.info("Window maximized");
driver.get(appURL);
Log.info("Navigating to: " + appURL);
return driver;
}
}
LoginPageTest类:
public class LoginPageTest extends TestBaseSetup
{
private WebDriver driver;
private LoginPage loginPage;
private HomePage homePage;
private SoftAssert softAssert;
private static Logger Log = Logger.getLogger(LoginPageTest.class.getName());
private String sTestCaseName;
private int iTestCaseRow;
@BeforeMethod
public void setUpTest()
{
driver = getDriver();
Log.info("Driver loaded");
//loginPage = new LoginPage(driver);
loginPage = PageFactory.initElements(driver, LoginPage.class);
homePage = PageFactory.initElements(driver, HomePage.class);
softAssert = new SoftAssert();
}
@Test(priority = 1)
public void verifyLoginPage()
{
Log.info("--------------------------START TEST---------------------------");
Log.info("Test 1: verifyLoginPage");
softAssert.assertTrue(loginPage.verifyLoginPageTitle(), "Login page title does not match\n");
softAssert.assertTrue(loginPage.verifyLoginTextTop(), "Login text top does not match\n");
softAssert.assertTrue(loginPage.verifyLoginTextBottom(), "Login text bottom does not match\n");
softAssert.assertAll();
}
}
登录页面对象存储库:
public class LoginPage
{
protected WebDriver driver;
private static Logger Log = Logger.getLogger(LoginPage.class.getName());
@FindAll({ @FindBy(xpath = "/html/body/div/div/div/h1"),
@FindBy(css = "#content > div.container > h1") })
private WebElement loginTextTop;
@FindAll({ @FindBy(xpath = "/html/body/div/div/div/h2"),
@FindBy(css = "h2") })
private WebElement loginTextBottom;
public LoginPage(WebDriver driver)
{
this.driver = driver;
}
public String getPageTitle()
{
String title = driver.getTitle();
return title;
}
public boolean verifyLoginPageTitle()
{
String expectedPageTitle = "WTS";
return getPageTitle().contains(expectedPageTitle);
}
public String getLoginTextTop()
{
String TextTop = loginTextTop.getText();
return TextTop;
}
public boolean verifyLoginTextTop()
{
String expectedPageText = "Welcome to CenterPoint™";
return getLoginTextTop().contains(expectedPageText);
}
public String getLoginTextBottom()
{
String TextBottom = loginTextBottom.getText();
return TextBottom;
}
public boolean verifyLoginTextBottom()
{
String expectedPageText = "Please Sign In";
return getLoginTextBottom().contains(expectedPageText);
}
}
原来这不是代码的问题。相反,Internet选项中有一个设置需要打开才能使其工作。高级
一旦我勾选了这个复选框,我的IE测试就如预期的那样工作了。
问题内容: 我正在尝试从具有命名空间的Word文档中查找所有内容,但我不知道语法到底是什么。 这些文档仅涵盖了非常简单的情况,并加入了URN和VML组合,我似乎无法从网上看到我能看到的任何示例。有人碰巧知道这是什么吗? 我正在尝试做这样的事情: 编辑:@aneroid写的是1000%正确的答案,超级有帮助。您应该对此投票。就是说,在理解了所有内容之后- 我接受了BS4的答案,因为它完全按照我的要求
我正试图让spring slueth通过我们的系统提供追踪身份。 在检查其他服务的日志时,我注意到正在生成新的ID。
问题内容: 我已经做了几次尝试,以使包注释@ParametersAreNonnullByDefault在maven项目中为我工作,但没有成功。有人可以共享一个指向最小/示例maven项目的链接吗(或发布了pom.xml和package- info.java和demo类)? 我说的是让findbugs处理器为我实施它。 问题答案: 如何申请 在您的程序包中创建一个文件,以在其中强制执行所需的行为。
问题内容: 我正在尝试让Selenium RC在具有PHP / Apache的Linux上与Firefox 3一起工作,但是遇到了问题。这是我所做的: 我已经安装了Firefox Selenium-IDE扩展。 在Web服务器(在我的情况下,它实际上是运行Firefox的同一台计算机)上,我使用以下命令启动了Selenium服务器:java -jar selenium-server.jar -in
我使用的是spring数据,我的DAO看起来像 在上面的代码中,注释行显示了我的意图。spring数据是否可以提供内置功能,使用这样的方法查找所有记录的顺序按某一列与ASC/DESC?
问题内容: 我有以下sql查询,如何使用yii编写查询? 我没有使用,暂时正在避免使用它。 使用三个表,用户,类别和job_profile。 我已经编写了以下查询,但是我不知道如何包括join: 问题答案: $model = JobProfile::model()->with(‘userrelationname’,’categoryrelationname’)->findAll(array(“co