Selenium Java Can';t选择AngularJS元素
我研究并尝试了几种不同的方法来识别断言测试中的这个元素。Xpath不起作用,ng模型不起作用。有什么想法吗Selenium Java Can';t选择AngularJS元素,java,angular,selenium,xpath,Java,Angular,Selenium,Xpath,我研究并尝试了几种不同的方法来识别断言测试中的这个元素。Xpath不起作用,ng模型不起作用。有什么想法吗 <input type="text" ng-class="{'ng-dirty': !merchant.name}" ng- model="merchant.name" required="" class="ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched" style="">
<input type="text" ng-class="{'ng-dirty': !merchant.name}" ng-
model="merchant.name" required="" class="ng-pristine ng-valid ng-not-empty
ng-valid-required ng-touched" style="">
可以考虑使用< <代码> XPath < /> >使用<代码>类< /代码>属性:
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched']
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched' and @type='text']
另一种策略可能是同时使用类
和类型
属性:
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched']
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched' and @type='text']
可以考虑使用< <代码> XPath < /> >使用<代码>类< /代码>属性:
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched']
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched' and @type='text']
另一种策略可能是同时使用类
和类型
属性:
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched']
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched' and @type='text']
这就成功了
@Test
public static void merchant_name() {
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
WebElement merchant_name =
driver.findElement(By.xpath("html/body/div[1]/div/ng-
view/div/div/div[2]/div/div/ng-form/div[3]/div/input"));
Assert.assertEquals(merchant_name.getAttribute("value"), "Regression
Testing");
}
这就成功了
@Test
public static void merchant_name() {
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
WebElement merchant_name =
driver.findElement(By.xpath("html/body/div[1]/div/ng-
view/div/div/div[2]/div/div/ng-form/div[3]/div/input"));
Assert.assertEquals(merchant_name.getAttribute("value"), "Regression
Testing");
}
你能用你尝试过的不同方法来扩展你的问题吗?没问题。以下是我对DebanjanB建议的尝试:@Test public static void merchant_name(){driver.manage().timeouts().implicitlyWait(15,TimeUnit.SECONDS);WebElement merchant_name=driver.findelelement(By.xpath(“input[@class='ng-pristine ng-valid ng-not-empty ng-valid-ng-required-ng-ng-toucted-ng'])));Assert.assertEquals(merchant_name.getAttribute(“value”),“回归测试”);}有例外吗?Afai当您调用xpath的getAttribute时,应该有NPE,但不返回任何内容?明白了。见下文。使用xPath尝试了不同的方法。谢谢大家。你能用你尝试过的不同方法来扩展你的问题吗?没问题。以下是我对DebanjanB建议的尝试:@Test public static void merchant_name(){driver.manage().timeouts().implicitlyWait(15,TimeUnit.SECONDS);WebElement merchant_name=driver.findelelement(By.xpath(“input[@class='ng-pristine ng-valid ng-not-empty ng-valid-ng-required-ng-ng-toucted-ng'])));Assert.assertEquals(merchant_name.getAttribute(“value”),“回归测试”);}有例外吗?Afai当您调用xpath的getAttribute时,应该有NPE,但不返回任何内容?明白了。见下文。使用xPath尝试了不同的方法。谢谢大家。