单击模态窗口中的按钮 - 量角器

时间:2016-06-24 05:14:05

标签: javascript angularjs protractor modal-window

我正在为现有应用编写量角器测试。 我有一个名为“拒绝”的按钮。在模态窗口中,我试图点击它:

element(by.buttonText('Decline')).click();

但我收到以下错误:

UnknownError: unknown error: Element is not clickable at point (,). Other element would receive the click:

可能是因为我有另一个名为' Decline'莫代尔窗外?

enter image description here

如何点击模态窗口的“拒绝”按钮?

发现这是显示此Decline按钮的js代码。

.....
var content = {
          title: 'Decline',
          htmlBody: '<p>...</p> ',
          okButton: 'Decline',
          onOk: function() {
.....

5 个答案:

答案 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)