我正在为现有应用编写量角器测试。 我有一个名为“拒绝”的按钮。在模态窗口中,我试图点击它:
element(by.buttonText('Decline')).click();
但我收到以下错误:
UnknownError: unknown error: Element is not clickable at point (,). Other element would receive the click:
可能是因为我有另一个名为' Decline'莫代尔窗外?
如何点击模态窗口的“拒绝”按钮?
发现这是显示此Decline按钮的js代码。
.....
var content = {
title: 'Decline',
htmlBody: '<p>...</p> ',
okButton: 'Decline',
onOk: function() {
.....
答案 0 :(得分:2)
由于有两个带按钮文字Decline的按钮,我们如何识别模态中的那个?
接近这种方法的一种方法是改进定位器以在模态内容的范围内工作。但是,由于您没有提供模态的HTML表示,我无法为您提供具体的答案。以下是您可以根据自己的使用情况进行改进的示例:
element(by.css(".modalContent button[ng-click*=ok]")).click();
element(by.css(".modalContent")).element(by.buttonText("Decline")).click();
另一种方法可能是查找具有特定文本的所有按钮,过滤可见的:
element.all(by.buttonText("Decline")).filter(function (button) {
return button.isDisplayed().then(function (isDisplayed) {
return isDisplayed;
});
}).first().click();
答案 1 :(得分:2)
我的同事推荐了这个并且有效:
点击First Decline按钮打开一个模态,
睡了一段时间,
现在点击第二个拒绝按钮。
{{1}}
感谢您的帮助:)
答案 2 :(得分:0)
编写代码 需要在模态窗口下显示, 内部表格标签。 并使用现有表单序列化该表单。
答案 3 :(得分:0)
只需按文字搜索按钮,然后使用功能@Test
public void testHealthyRepo() throws Exception {
RevCommit commit0 = git.commit().message("0").create();
RevCommit commit1 = git.commit().message("1").parent(commit0).create();
git.update("master", commit1);
DfsFsck fsck = new DfsFsck(repo);
FsckError errors = fsck.check(null);
assertEquals(errors.getCorruptObjects().size(), 0);
assertEquals(errors.getMissingObjects().size(), 0);
assertEquals(errors.getCorruptIndices().size(), 0);
}
。所以对你来说应该是这样的:
click
答案 4 :(得分:-1)
尝试以下代码,
type LazyTree<'T> =
| LazyBranch of 'T * ('T LazyTree list Lazy)
with
member this.Item = match this with LazyBranch(item,_) -> item
member this.Children = match this with LazyBranch(_,children) -> children
member this.Map func =
let children =
lazy
(
this.Children.Force()
|> List.map (fun child -> child.Map func)
)
LazyBranch(func this.Item, children)