运行 Laravel Dusk 在多个网络域上
Run Laravel Dusk on multiple web domains
我有多个网站。
- en.web-site.com/pages/faqs
- fr.web-site.com/pages/faqs
- ar.web-site.com/pages/faqs
- br.web-site.com/pages/faqs
- ...另外 30 个具有相同 URI 结构的网站
我想 运行 在每个网站上进行浏览器测试。
我已经更新了我所有网站的常见问题解答页面上的电子邮件,我想测试是否所有这些都有更改。
<?php
namespace Tests\Browser;
use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
class UpdatedEmailTest extends DuskTestCase
{
public function testUpdatedEmail()
{
$this->browse(function (Browser $browser) {
$browser->visit('/pages/faqs')
->assertPathIs('/pages/faqs')
->assertSee('new_email@sample.com')
->assertDontSee('old_email@sample.com');
});
}
}
这个测试绝对可以在我的任何网站上正常运行,但每次我必须 运行 时,我都必须编辑 .env
文件。
我该怎么做才能让我在所有这些网站上进行测试而无需编辑 .env
文件?
为此,您可能需要对所有 30 多个网站域进行循环。
public function testUpdatedEmail()
{
$websites = .... //array with full urls and emails
foreach ($websites as $website)
$this->browse(function (Browser $browser) use ($website) {
$browser->visit($website["url"])
->assertPathIs(parse_url($website["url"], PHP_URL_PATH))
->assertSee($website["new_email"])
->assertDontSee($website["old_email"]);
});
}
参考Browers.php https://github.com/laravel/dusk/blob/bcb05e6fe29817bbf04574f68996312a296bb366/src/Browser.php#L119
我有多个网站。
- en.web-site.com/pages/faqs
- fr.web-site.com/pages/faqs
- ar.web-site.com/pages/faqs
- br.web-site.com/pages/faqs
- ...另外 30 个具有相同 URI 结构的网站
我想 运行 在每个网站上进行浏览器测试。
我已经更新了我所有网站的常见问题解答页面上的电子邮件,我想测试是否所有这些都有更改。
<?php
namespace Tests\Browser;
use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
class UpdatedEmailTest extends DuskTestCase
{
public function testUpdatedEmail()
{
$this->browse(function (Browser $browser) {
$browser->visit('/pages/faqs')
->assertPathIs('/pages/faqs')
->assertSee('new_email@sample.com')
->assertDontSee('old_email@sample.com');
});
}
}
这个测试绝对可以在我的任何网站上正常运行,但每次我必须 运行 时,我都必须编辑 .env
文件。
我该怎么做才能让我在所有这些网站上进行测试而无需编辑 .env
文件?
为此,您可能需要对所有 30 多个网站域进行循环。
public function testUpdatedEmail()
{
$websites = .... //array with full urls and emails
foreach ($websites as $website)
$this->browse(function (Browser $browser) use ($website) {
$browser->visit($website["url"])
->assertPathIs(parse_url($website["url"], PHP_URL_PATH))
->assertSee($website["new_email"])
->assertDontSee($website["old_email"]);
});
}
参考Browers.php https://github.com/laravel/dusk/blob/bcb05e6fe29817bbf04574f68996312a296bb366/src/Browser.php#L119