单击模态 Window - 量角器中的按钮
Click on a button in a Modal Window - Protractor
我正在为现有应用程序编写量角器测试。
我在模式 window 中有一个名为 'Decline' 的按钮,我正在尝试使用以下方式单击它:
element(by.buttonText('Decline')).click();
但是我收到以下错误:
UnknownError: unknown error: Element is not clickable at point (,). Other element would receive the click:
可能是因为我在模式 window 之外还有一个名为 'Decline' 的按钮?
如何单击模式 window 的“拒绝”按钮?
发现这是显示这个拒绝按钮的js代码
.....
var content = {
title: 'Decline',
htmlBody: '<p>...</p> ',
okButton: 'Decline',
onOk: function() {
.....
试试下面的代码,
var DeclineBtn = element(by.buttonText('Decline'));
browser.executeScript("arguments[0].click()",DeclineBtn.getWebElement())
写代码
需要在模态 window 下显示,
内部表单标签。
并使用现有表单序列化该表单。
As there are two buttons with button text Decline, How do we identity the one in modal?
一种方法是改进您的定位器以在模态内容范围内工作。但是,由于您没有提供模态的 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();
我的同事推荐了这个并且有效:
点击第一个拒绝按钮打开一个模式,
睡一会儿,
现在点击第二个“拒绝”按钮。
element(by.buttonText('Decline')).click();
browser.sleep(2000);
element(by.cssContainingText('.btn', 'Decline')).click();
感谢您的帮助:)
只需按文本搜索按钮并使用功能 click
。所以对你来说它应该是这样的:
element(by.buttonText('Cancel')).click();
我正在为现有应用程序编写量角器测试。 我在模式 window 中有一个名为 'Decline' 的按钮,我正在尝试使用以下方式单击它:
element(by.buttonText('Decline')).click();
但是我收到以下错误:
UnknownError: unknown error: Element is not clickable at point (,). Other element would receive the click:
可能是因为我在模式 window 之外还有一个名为 'Decline' 的按钮?
如何单击模式 window 的“拒绝”按钮?
发现这是显示这个拒绝按钮的js代码
.....
var content = {
title: 'Decline',
htmlBody: '<p>...</p> ',
okButton: 'Decline',
onOk: function() {
.....
试试下面的代码,
var DeclineBtn = element(by.buttonText('Decline'));
browser.executeScript("arguments[0].click()",DeclineBtn.getWebElement())
写代码 需要在模态 window 下显示, 内部表单标签。 并使用现有表单序列化该表单。
As there are two buttons with button text Decline, How do we identity the one in modal?
一种方法是改进您的定位器以在模态内容范围内工作。但是,由于您没有提供模态的 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();
我的同事推荐了这个并且有效:
点击第一个拒绝按钮打开一个模式,
睡一会儿,
现在点击第二个“拒绝”按钮。
element(by.buttonText('Decline')).click();
browser.sleep(2000);
element(by.cssContainingText('.btn', 'Decline')).click();
感谢您的帮助:)
只需按文本搜索按钮并使用功能 click
。所以对你来说它应该是这样的:
element(by.buttonText('Cancel')).click();