我正在尝试使用 PHPUnit 运行硒测试用例。我做的第一件事是尝试登录功能,这很完美,但随后我想运行一个功能来检查登录后页面上的信息,但它会打开一个新浏览器,而不是在当前浏览器窗口中继续。这是一个问题的原因是因为该页面设置为在窗口关闭时删除登录身份验证,因此如果您使用 $this->url() 转到该页面,它会给出我需要登录的错误。这是我现在的代码,它启动浏览器并运行函数来测试登录表单,然后关闭浏览器,打开一个新浏览器并运行链接检查。这当然会导致由于身份验证错误而导致错误,因为窗口已关闭。我可以在一个函数中运行所有测试,但这确实是一种草率的编码,我想避免这种情况。有人知道如何解决这个问题吗?
<?php
class TestMyTest extends PHPUnit_Extensions_Selenium2TestCase {
public function setUp()
{
$this->setBrowser("firefox");
$this->setBrowserUrl("https://**************************");
}
public function testLoginForm()
{
$this->url("login.php");
$this->byLinkText('Forgot your password?');
$form = $this->byCssSelector('form');
$this->byName('username')->value('test');
$this->byName('password')->value('1234');
$form->submit();
}
public function testCheckForMainMenueLinks ()
{
$this->url("index.php");
$this->byLinkText('Home');
$this->byLinkText('Products');
$this->byLinkText('About us');
$this->byLinkText('Contact');
}
}
?>
共享浏览器会话Selenium2TestCase
,你必须设置sessionStrategy => 'shared'
在您的初始浏览器设置中:
public static $browsers = array(
array(
'...
'browserName' => 'iexplorer',
'sessionStrategy' => 'shared',
...
)
);
替代方案(默认)是'isolated'
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)