Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用rails处理angular js对话框+;使用黄瓜进行自动化测试的水豚?_Ruby On Rails_Angularjs_Automation_Cucumber_Capybara - Fatal编程技术网

Ruby on rails 如何使用rails处理angular js对话框+;使用黄瓜进行自动化测试的水豚?

Ruby on rails 如何使用rails处理angular js对话框+;使用黄瓜进行自动化测试的水豚?,ruby-on-rails,angularjs,automation,cucumber,capybara,Ruby On Rails,Angularjs,Automation,Cucumber,Capybara,目前我正在开发一个使用angular JS的应用程序。 在应用程序中,有一个流,单击一个按钮,将显示一个对话框,其中包含一些字段 我试图在对话框内的字段中输入一些值。但每当对话框打开时,我都会收到错误“意外警报打开” 有人能帮我吗? 你也可以用这个给我发邮件。邮件Id:abhisekearly@gmail.com好的——我仍然不能100%确定您看到的是系统提示模式——因为您一直在说“字段”,而系统提示模式只能有一个字段,但这里是 对于系统模式,您需要调用accept_prompt并向其传递一个将

目前我正在开发一个使用angular JS的应用程序。 在应用程序中,有一个流,单击一个按钮,将显示一个对话框,其中包含一些字段

我试图在对话框内的字段中输入一些值。但每当对话框打开时,我都会收到错误“意外警报打开”

有人能帮我吗? 你也可以用这个给我发邮件。邮件Id:abhisekearly@gmail.com

好的——我仍然不能100%确定您看到的是系统提示模式——因为您一直在说“字段”,而系统提示模式只能有一个字段,但这里是

对于系统模式,您需要调用accept_prompt并向其传递一个将触发提示打开的块

accept_prompt(with: "the test to enter into the field in the prompt) do
  click_button("button that opens the prompt modal")
end
因此,在Cumber中,可以实现如下内容

When /^(?:|I )press "([^"]*)" and confirm with "([^"]*)"$/ do |button, response|
  accept_prompt(with: response) do
    click_button(button)
  end
end

你用的是什么司机?“意外警报打开”通常指正在打开的系统警报框,但您在描述中没有提及-您确定没有任何东西触发系统警报框吗?嗨,汤姆,我正在windows 7上使用Chromedriver 2.9.248315。触发对话框的代码:find(:css,“div.editSectionNav>button.btn.ng scope”)。单击上面提到的元素是按钮类型的元素。单击它,会出现一个对话框,其中包含一些字段。我只需要在字段中输入一些值,然后单击对话框中的“确定”按钮。请让我知道,如果你需要关于这方面的任何其他信息。你没有回答你使用的水豚驱动程序,是selenium吗?如果是,则“意外警报打开”表示系统警报、确认或提示正在打开-是触发按钮时打开的提示框吗??(虽然只有一个字段,但您一直在说字段)。如果没有,当您按下“确定”按钮时,系统确认框是否打开?(可能会说“你确定吗?”)也许你应该在问题中添加错误发生的代码和堆栈跟踪。对不起,汤姆,如果我的评论不清楚的话。回到你的问题上来。是的,是硒。我得到一个弹出式的对话框。其中有一些可编辑字段,有两个按钮,即“确定”和“取消”。我尝试了下面的代码,但没有任何效果。接受警报的代码:page.driver.browser.switch_to.Alert.Accept,打开弹出窗口并在其中执行操作的代码:main=page.driver.browser.window_handles.first,Popup=page.driver.browser.switch_to.Popup.Alert.last,page.driver.browser.switch_to.window(弹出窗口)…但是什么都没用。嗨,汤姆,我已经和我的开发团队讨论过了。根据他们的说法,这是一个弹出模式/对话框。下面是他们用来创建弹出窗口的代码:Class=ui对话框ui小部件ui小部件内容ui角落所有ui前端ui对话框按钮ui可拖动ui可调整大小。这是他们放在div标签上的。他们在这里使用角js。它包含7-8个字段和2个按钮,即“确定”和“取消”按钮。在这里,您的代码将只为一个字段取值,对吗?我认为它在我的情况下不起作用。无论如何,我将尝试提供的代码并回复结果。好吧——这将是一个jQuery UI模式,而不是一个系统模式(系统模式是通过调用window.alert、confirm或prompt from JS打开的)——那么,在您提交jQuery UI模式后,可能会出现一个系统模式?我真的不知道——正如我在对问题的评论中所说的那样——最好是发布测试代码,代码中的错误发生在哪里,以及问题中错误的堆栈跟踪Hi Tom,很抱歉这么晚才回复。我尝试了你提到的步骤,但不起作用。我将无法共享我的代码,因为它是机密的(希望您理解)。有没有办法处理jQuery UI?或者你能告诉我任何一个网站,在那里我可以获得关于处理jQuery UI的更多细节。如果你能在这方面帮助我,那将是一个很大的帮助。谢谢。很抱歉,如果您不能提供任何实际发生的代码示例,我将无法提供更多帮助。