当前位置: 首页 > 知识库问答 >
问题:

无法使用Poltergeist单击引导模式对话框按钮

伯丁雷
2023-03-14

当我单击按钮时,会显示一个引导模式弹出窗口。我尝试使用下面的恶作剧功能单击确定或取消按钮,但都不起作用。要么功能不起作用,要么单击外部。

<div class="modal-footer">
<a class="btn cancel" data-dismiss="modal" href="#">Cancel</a>
<a class="btn proceed btn-primary" href="#">OK</a>
</div>

click_link "Release"
page.driver.render('ReleaseOKCANCEL.jpg', :full =>true)

单击“释放”时,将有一个带有OK和取消按钮的引导模式,可以通过屏幕截图进行验证。尝试使用以下命令单击OK按钮。

  1. 第页。查找(“.btn.procedue.btn primary”)。触发器(“单击”)
  2. 单击链接(“确定”)
  3. 第页。执行\u脚本(“$”(“.btn.procedue.btn primary”)。触发器(“单击”))
  4. 第页。执行_脚本('$(“.btn.procedue.btn primary”)。触发器(“悬停”)。触发器(“cli‌​ck“))
  5. 第页。全部(“..//*[@id='confirmation\u dialog']/div[3]/a[2]”)。第一单击
  6. 单击\u按钮“确定”
  7. 单击“确定”
  8. 第页。Disclose\u confirm do页面。查找(“.btn.procedue.btn primary”)。单击结束
  9. 第页。查找(“.model”)。查找(“.模式页脚”)。查找(“.btn.procedue.btn primary”)。触发器‌​er('点击')

但什么都不管用。单击“确定”按钮后,应用程序中的状态将发生更改。但事实并非如此。

共有2个答案

袁翔
2023-03-14

我能够在引导模式上单击元素的唯一方法是

execute_script("document.querySelector('.multiselect__tags').click()")

其中元素由querySelector选择

从智志
2023-03-14

在过去的几周里,我一直在编写一系列特性/集成规范,并且一直针对引导模式中的许多字段和按钮(尽管类名已从引导默认值更改)。

下面是一个对我来说非常有用的测试,它使用的是香草引导模式:

 it "displays edit profile page pre-filled for editing after successful form submission" do
    click_link "List a Property"

    within("form#new_user") do
      fill_in "user[login]", with: user.username
      fill_in "user[password]", with: user.password
      fill_in "user[email]", with: user.email
      fill_in "user[first_name]", with: user.first_name
      fill_in "user[last_name]", with: user.last_name
      fill_in "user[phone_number]", with: user.phone_number
      click_button "List My Properties"
    end

    expect(current_path).to eq account_path(:profile)
    within(".profile-name") { expect(page).to have_content user.username }
    find_field("user[first_name]").value.should eq user.first_name
  end

在Capybara中使用within()方法通常可以避免我在其他情况下会遇到的许多目标问题。

我还应该注意到,所有测试都是使用以下行启用的js:

describe "User", js: :true do
 类似资料:
  • 当用户单击返回按钮时,我正在尝试退出应用程序,让它在单击是按钮时显示对话框是/否按钮,让它退出应用程序,包括注册活动,假设您在主活动上。 这是我的代码,但它不工作 单击主活动上的“后退”按钮时 如何从主活动退出应用程序,包括在是按钮单击对话框上的注册活动

  • 问题内容: 我正在使用 selenium2 beta 。我试图单击按钮,这将打开文件附件对话框。但是当我单击它时,什么也没有发生。 仅使用selenium而不是selenium2我可以轻松单击它。 问题答案: 我猜问题只是在使用Internet Explorer时出现,因为IE和FF处理文件输入略有不同:在FF中,您可以单击按钮或字段以调用“打开”对话框,而在IE中,您可以单击按钮或 双击单击 该

  • 问题内容: 我无法使用Appium + Java在Android的权限对话框中点击“拒绝”或“允许”按钮。在点击这些按钮之前,我需要添加任何功能吗?下面是代码: 以下是Eclipse控制台中的错误: 以下是Appium日志: 任何人为克服这一问题的帮助将不胜感激? 问题答案: 使用下面的代码片段,我可以单击所有允许按钮来获取权限。

  • 我的代码有问题。如果我点击按钮搜索在我的表单,当一个字段有输入,我得到按钮搜索与弹出在同一时间。 但我只想在单击“搜索”按钮时显示弹出窗口。 代码html在以下链接中:https://jsfidle.net/ge5zxmst/ 谢谢你帮忙。

  • 我有一个按钮(CustomDilaog活动),当点击显示自定义对话框和密码编辑文本,确定按钮和取消按钮时,如果你输入正确的密码,它会打开另一个活动(文本活动),直到现在一切正常, 我有两个部分的问题。 第一部分:当我在(文本活动)并按后退按钮返回(CustomDilaog活动)时,仍然对话框显示在它上面,如何让它关闭 第二部分:对话框启动后,如果我不写密码,只需单击“确定”按钮,edittext为

  • 问题内容: 我有一个EditText用于输入的对话框。当我单击对话框上的“是”按钮时,它将验证输入,然后关闭对话框。但是,如果输入错误,我希望保留在同一对话框中。每次无论输入什么,当我单击“否”按钮时,都应自动关闭对话框。如何禁用此功能?顺便说一句,我在对话框上的按钮上使用了PositiveButton和NegativeButton。 问题答案: 编辑:这仅在API 8+上有效,如某些注释所述。