同时开启多个浏览器
有时候可能需要多个浏览器来进行测试,
譬如说用多个浏览器来测试WebSocket的聊天室,
(这里没有实例,只有语法)
$this->browse(function ($first, $second) {
$first->loginAs(User::find(1))
->visit('/home')
->waitForText('Message');
$second->loginAs(User::find(2))
->visit('/home')
->waitForText('Message')
->type('message', 'Hey Taylor')
->press('Send');
$first->waitForText('Hey Taylor')
->assertSee('Jeffrey Way');
});
语法说明
用visit
方法可以导引到一个指定URL的网页
$browser->visit('/login');
用visitRoute
方法可以导引到一个指定路由命名
$browser->visitRoute('login');
用back
和forward
方法可以导引到前一页和後一页
$browser->back();
$browser->forward();
用refresh
方法可以刷新页面
$browser->refresh();
调整浏览器的视窗
使用resize
方法可以调整浏览器视窗的大小
$browser->resize(1920, 1080);
使用maximize
方法可以最大化浏览器视窗
$browser->maximize();
使用fitContent
方法可以调整浏览器视窗的大小,
让它可以根据内容自动调整大小
$browser->fitContent();
可以使用move方法来将浏览器视窗移到萤幕上的不同位置
$browser->move($x = 100, $y = 100);
身分验证
如果我们遇到需要身分认证的页面,
我们可以使用dusk的loginAs
方法来避免每次测试都要登入
use App\Models\User;
$this->browse(function ($browser) {
$browser->loginAs(User::find(1))
->visit('/home');
});
更多关於dusk的方法可以参考 官方文件
前言 昨天只写了注册与登入的功能,好像完全没有提到这到底是个什麽样的app... 那天,没有朋友的我...
Day 8 从Day8 fork一份开始 昨天提到了登入 才发现 文本框没有介绍到 可用於各项输入 ...
前言 我们已经学会使用长条图来做资料探索。然而,Tableau Desktop 除了长条图外,还有其...
好的!【足以维护资讯系统的人才】已经到位啦! 所以就就可以针对资讯资产来做管理! A.8 资产管理 ...
Introduction 在先前我们提到了 compose,并且将许多单一功能的纯函式,透过 com...