我研究并尝试了几种不同的方法来识别该元素以进行断言测试。 Xpath 不起作用,ng-model 不起作用。有什么想法吗?
<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="">
我到目前为止的代码:
@Test
public static void merchant_name() {
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
WebElement merchant_name = driver.findElement(
By.xpath("input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched']")
);
Assert.assertEquals(merchant_name.getAttribute("value"), "Regression Testing");
}
最佳答案
您可以考虑使用以下使用 class
属性的 xpath
:
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched']
另一种策略可能是同时使用class
和type
属性:
//input[@class='ng-pristine ng-valid ng-not-empty ng-valid-required ng-touched' and @type='text']
关于java - Selenium Java 无法选择 AngularJS 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45990390/