当我在浏览器的输入字段中键入关键字以查看结果时,我正在设置一个简单的检查。 而且,当检查从javascript部分开始时,检查就需要很长时间才能完成,并出现错误。
我正在使用:Linux RedHat 7 贝哈特3.5.0 Selenium独立服务器3.141.59 貂皮1.6
# behat.yml
default:
extensions:
Behat\MinkExtension:
browser_name: chrome
goutte: ~
javascript_session: selenium2
selenium2:
wd_host: http://99.80.48.204:4444/wd/hub
capabilities: { "browser": "chrome", "version": "*", 'chrome': {'switches':['--start-maximized']}}
base_url: https://www.bing.com
suites:
ui:
contexts: [FeatureContext, WebContext]
#Webcontext.php
<?php
use Behat\MinkExtension\Context\MinkContext;
class WebContext extends MinkContext {
/**
*@When I wait for :arg1 seconds
*/
public function iWaitForSeconds($args)
{
$this->getSession()->wait($args * 1000);
}
/**
* @When I fill in :arg1 with: :arg2
*/
public function iFillInWith($value, $field)
{
$javascript = "window.onload = function () {var e = document.getElementById('$field').value='$value';}";
$this->getSession()->executeScript($javascript);
}
}
# bing.feature
@insulated
Feature: Bing
Scenario: Homepage
Given I am on the homepage
Then I should see "Bing"
And I should see "Images"
And I should see "Office Online"
@javascript
Scenario: Search
Given I am on the homepage
When I fill in "sb_form_q" with "grafikart"
And I wait for 1 seconds
Then I should see "Grafikart.fr"
我希望快速检查一下,我所有的行都是绿色,但是目前无法正常工作。
答案 0 :(得分:1)
似乎页面未加载,并且元素不在页面中。
尝试:
1.使用wait方法等待页面加载
->wait(5000, "document.readyState === 'complete'");
wait
与类似document.getElementById('$field') != null
的条件一起使用根据情况的不同,如果您要从另一页面导航,则可能只需要其中之一,或者两者都需要,可以将第二个页面包含在fill方法中。
等待完成后,您可以填写该字段。
+将您的$javascript
方法更改为
document.getElementById('$field').value='$value';
答案 1 :(得分:0)
最后,我一直在修改硒和Behat的配置。现在两者之间的链接有效。
但是当我启动behat测试时---> bin / behat 该代码的运行速度比以前快,但我仍然出错:
Could not open connection: Error forwarding the new session cannot find : Capabilities {browser: chrome, browserName: chrome, browserVersion: 76.0.3809.12, ignoreZoomSetting: false, javascriptEnabled: true, name: Behat feature suite, platform: LINUX, selenium-version: 3.141.59} (Behat\Mink\Exception\DriverException)
我正在搜索许多常见问题解答以获得答复,但没有机会。 请有人能帮我吗?
谢谢
答案 2 :(得分:0)