当前位置: 首页 > 面试题库 >

如何在不为每个函数运行新的浏览器窗口的情况下运行PHPUnit Selenium测试?

盖绪
2023-03-14
问题内容

我正在尝试使用PHPUnit运行selenium测试用例。我要做的第一件事就是尝试登录功能,它可以完美运行,但是我想运行一个功能来检查登录后页面上的信息,但是它将打开一个新的浏览器,而不是在当前浏览器窗口中继续。这是一个问题,原因是该页面设置为在关闭窗口时删除登录身份验证,因此,如果使用$
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');
        }
    }
?>

问题答案:

Okej,所以我想您可以直接从另一个函数中调用该函数,如下所示:

public function testOne
{
#code
$this->Two();
}

public function Two()
{
#code
$this->Three();
}

public function Three()
{
#code
}

依此类推,这将在没有新浏览器的情况下运行下一个功能,但是,如果在任何测试中的任何地方失败,则整个测试将停止,因此反馈不会像单个测试那样好。



 类似资料:
  • 我正在开发一个spring启动应用程序并编写一些junit测试。 但我发现,当我运行任何测试时,tomcat也会启动,这使得这些测试非常缓慢,浪费了很多时间。 当我开发一个SpringMvc应用程序时,junit测试可以在不启动tomcat的情况下运行,这节省了很多时间。 所以,我想问它在那里无论如何要运行启动tomcat的springstart测试?

  • 背景: 项目: PC端 vue3+ vite 背景: 有的时候测试的时候需要测试不同版本的谷歌浏览器的兼容情况,但是在电脑上只有一个版本的谷歌浏览器,在想有什么办法能在自己电脑上测试不同版本谷歌浏览器的运行情况。

  • 无论我为Maven+Surefire使用什么设置,我从未在我的流程管理器中看到超过一个JVM。我有一台Windows7电脑,有8个物理内核。我运行的是最新的Maven/Surefire/JUnit和JDK8(32位)。 以下内容对我不起作用: (我尝试了、、、、和的各种组合。)

  • 我正在学习JavaEE。我正在掌握CDI、依赖和上下文注入。现在看起来并不难。 现在我想试着写一些代码。我安装了NetBeans(安装了GlassFish和其他东西),现在有点卡住了。 我的书(冈萨尔维斯的《Java EE 7入门》)有一个很好的简单例子,演示了EJB和上下文/依赖注入、注释、拦截器、生产者等...在书中,他只是写了自己需要的代码,添加了bean.xml,这就是is。他使用mave

  • 问题内容: 我正在寻找没有浏览器的Javascript编程。我想从Linux或MacOSX命令行运行脚本,就像我们运行任何其他脚本语言(ruby,PHP,Perl,Python …)一样 我研究了spider monkey(Mozilla)和v8(Google),但它们似乎都是嵌入式的。 是否有人将Javascript作为脚本语言从命令行执行? 如果有人好奇,为什么我期待到这一点,我一直在关注着N

  • 问题内容: 我找不到有关如何进行设置的任何信息,但这似乎是一个非常基本的概念,所以我敢肯定有一个答案。 我知道如何通过在配置中设置对象的属性来在不同的浏览器上运行量角器。而且效果很好。我可以将其设置为or 或我需要的任何值,并且它可以按预期运行。但是,对多个浏览器运行单个测试套件的唯一方法(据我所知)是创建单独的配置文件,每个配置文件具有不同的配置文件,然后使用各自的配置运行每个浏览器。这行得通,