您是否有任何经验/示例与ember.js进行硒测试?
我不能"抓住"视图(我使用路由器),因为它们没有确定性的ID。
有什么想法?
您可以显式设置自己的ID以供视图元素。直接来自以下车把:
{{#view Ember.TextField elementId="my_id"}}
或从您的视图对象:
MyApp.MyView = Ember.View.Extend({
elemntId: "my_id"
});
emberjs生成/分配id
属性的动态值,示例, ember32
, ember33
, ember34
等。在这些情况下找到/单击元素。例如,考虑以下元素:
<input placeholder="" id="ember32" class="ssRegistrationField ssEmailTextboxField ember-text-field ember-view" type="email">
id
属性值的值每次访问 aut(正在测试的应用程序)时,CC_6属性的值都会继续动态变化。因此,要进行交互/单击这些元素,解决方案是构建 Dynamic 定位器策略,诱导WebDriverWait与预期的条件不一致为visibilityOfElementLocated()
,如下所示:
cssSelector
:new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.ssRegistrationField.ssEmailTextboxField.ember-text-field.ember-view[id^='ember']"))).click();
xpath
:new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[starts-with(@id, 'ember') and @class='ssRegistrationField ssEmailTextboxField ember-text-field ember-view']"))).click();