婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 分析五個Laravel Dusk的使用技巧

分析五個Laravel Dusk的使用技巧

熱門標簽:滄州電銷外呼系統價格 銀行信貸電話機器人 溫州外呼系統招商 天津電銷外呼系統違法嗎 上海400客服電話怎么申請 400電話個人能不能辦理 合肥ai電銷機器人費用 凱立德地鐵站地圖標注 手機外呼系統什么原理

1. 填充隱藏字段

在測試某些 JS 組件時 (例如自動完成,日期選擇器等) ,可能需要編寫動作模擬操作與這些組件交互。猶豫這些組件中的大多數最終都會將值保存到隱藏字段中。那么將值直接填寫到隱藏字段中可能更加方便。這可以防止不穩定的測試,并確保我們不測試自己不擁有 / 控制的東西 (第三方組件)。

盡管 Laravel Dusk 沒有為我們提供類似$browser->fillHidden($field, $value)的方法,但我們可以使用Dusk Browser Macros來實現。

//將以下代碼添加到 serviceprovider.php 中
 
Browser::macro('fillHidden', function ($name , $value) {
    $this->script("document.getElementsByName('$name')[0].value = '$value'");
    return $this;
});
 
// 然后你可以像這樣使用
 
/** @test */
public function fill_hidden_fields()
{
    $this->browse(function (Browser $browser) {
        $browser->visit('https://website.com/form')
                ->type('input.name', $name)
                ->type('input.address', $address)
                ->fillHidden('checkin_date', $date)
                ->click('#Submit')
                ->waitForText('Orders');
    });
}

2. 模擬 HTML 地理位置

我曾經不得不測試一個頁面,該頁面需要 HTML 網站提供地理位置,以便它可以顯示一些結果。沒有可用的直接模擬方法,因此我不得不重寫 getCurrentPosition 方法,該方法最終將由頁面調用。

/** @test */
public function test_geo_location()
{
    $faker = Faker\Factory::create();
    $latitude = $faker->latitude;
    $longitude = $faker->longitude;
 
    $this->browse(function (Browser $browser) use($latitude, $longitude) {
        $browser->visit(new Homepage)
            ->assertOnPage();
 
        $browser->driver->executeScript(
            "window.navigator.geolocation.getCurrentPosition = function(onSuccessCallback) {
                var position = {
                    'coords': { 'latitude': {$latitude}, 'longitude': {$longitude} }
                };
                onSuccessCallback(position);
            }"
        );
 
        $browser->click('#geolocate-button')
                ->assertSee('Longitude: $longitude')
                ->assertSee('Latitude: Latitude')
    });
}

3. 使用 XPath 選擇器

有時,我會遇到無法使用 CSS 選擇器來定位元素的情況。這些通常發生在動態表格中,或者在我無法修改的第三方 js 組件中。但是,Laravel Dusk 不直接支持 XPath 選擇器,并且經常需要訪問基礎 WebDriver 實例。

$browser->driver->findElement( WebDriverBy::xpath("http://table[@class='x-grid3-row-table']/tbody/tr/td/div/a[contains(text(),'$value')]") )
                ->click();

這種方法的唯一問題就是 [問題不大] 可能會終端$browser鏈式調用.*

4. 整頁截屏

Laravel dusks 為我們提供了失敗測試的屏幕截圖,這對于了解測試失敗的原因非常有幫助。但是,有時錯誤或有問題的元素可能在屏幕顯示區域以外。

要在 Laravel Dusk 中創建完整的屏幕截圖,我們必須在我們的 tests \ DuskTestCase.php 中創建一個 captureFailuresFor() 方法,它將覆蓋最初在 Laravel\Dusk\Concerns\ProvidesBrowser 中定義的一個方法。

protected function captureFailuresFor($browsers)
{
    $browsers->each(function (Browser $browser, $key) {
        $body = $browser->driver->findElement(WebDriverBy::tagName('body'));
        if (!empty($body)) {
            $currentSize = $body->getSize();
            $size = new WebDriverDimension($currentSize->getWidth(), $currentSize->getHeight());
            $browser->driver->manage()->window()->setSize($size);
        }
        $name = str_replace('\\', '_', get_class($this)).'_'.$this->getName(false);
 
        $browser->screenshot('failure-'.$name.'-'.$key);
    });
}

現在,無論何時我們調用$browser->screenshot('$shotname'),發生錯誤時我們都將獲得完整的屏幕截圖

5. 訪問瀏覽器錯誤日志

這個沒什么問題,只是我發現的一些有趣的東西。我們可以通過調用 $browser->driver->manage()->getLog(‘browser') 來訪問瀏覽器控制臺日志。

這將在瀏覽器的控制臺中返回一系列日志。例如,對于頁面上沒有 javascript 錯誤的測試而言,它可能很有用。

@test
public function no_browser_errors()
{
    $this->browse(function ($browser) {
        $this->assertEmpty($browser->driver->manage()->getLog('browser'));
    });
}

但是請注意,它不包含console.log調用的輸出

以上就是分析五個Laravel Dusk的使用技巧的詳細內容,更多關于五個Laravel Dusk的使用技巧的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 淺談Laravel中使用Slack進行異常通知
  • 如何用Laravel包含你自己的幫助函數
  • 詳解Laravel框架的依賴注入功能
  • php+laravel 掃碼二維碼簽到功能
  • laravel的數據表填充器使用詳解
  • laravel ajax curd 搜索登錄判斷功能的實現
  • Laravel中Kafka的使用詳解
  • laravel使用redis隊列實例講解
  • Laravel的加密解密與哈希實例講解
  • Laravel中10個有用的用法小結

標簽:七臺河 赤峰 白城 酒泉 溫州 怒江 金華 洛陽

巨人網絡通訊聲明:本文標題《分析五個Laravel Dusk的使用技巧》,本文關鍵詞  分析,五個,Laravel,Dusk,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《分析五個Laravel Dusk的使用技巧》相關的同類信息!
  • 本頁收集關于分析五個Laravel Dusk的使用技巧的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    秋霞国产午夜精品免费视频| 国产精品国产三级国产aⅴ中文| 99久久精品免费看国产| 国产精品12区| 风流少妇一区二区| 成人黄页毛片网站| 91麻豆文化传媒在线观看| 不卡的av在线播放| eeuss鲁片一区二区三区| av中文字幕在线不卡| 91丨九色丨蝌蚪富婆spa| 欧美在线播放高清精品| 欧美日韩精品是欧美日韩精品| 欧美日本一道本| 日韩欧美的一区二区| 国产亚洲成年网址在线观看| 国产精品美女久久久久久2018| 亚洲精品国产一区二区精华液 | 久久综合色一综合色88| 久久久久久久久久久久久夜| 国产精品传媒视频| 日韩在线一区二区三区| 国产综合成人久久大片91| 99久久精品费精品国产一区二区| 色悠悠久久综合| 日韩欧美第一区| ●精品国产综合乱码久久久久| 亚洲国产精品久久不卡毛片| 国产一区二区精品久久| 91精彩视频在线| 久久综合精品国产一区二区三区| 国产精品妹子av| 日韩电影网1区2区| 国产白丝网站精品污在线入口| 色88888久久久久久影院野外| 日韩免费成人网| 亚洲一区二区三区中文字幕在线| 激情五月激情综合网| 欧洲亚洲国产日韩| 欧美激情综合在线| 久久66热re国产| 欧美日韩国产在线播放网站| 欧美国产精品v| 麻豆精品久久精品色综合| 欧美一级欧美三级在线观看| 国产精品美女视频| 国产999精品久久久久久| 亚洲大片在线观看| 国产成人自拍在线| 欧美成人三级在线| 午夜电影一区二区| 在线观看亚洲a| 国产精品的网站| 国产精品66部| 日韩精品一区二区三区三区免费 | 日韩午夜电影av| 一区二区三区丝袜| 97se亚洲国产综合自在线观| 精品成人一区二区三区四区| 日本亚洲电影天堂| 欧美另类z0zxhd电影| 美腿丝袜一区二区三区| 国产成人在线视频播放| 欧洲另类一二三四区| 亚洲免费观看在线观看| www.欧美日韩| 中文字幕亚洲精品在线观看| 国产成人av电影| 国产女人水真多18毛片18精品视频 | 欧美一区二区免费观在线| 亚洲一区二区三区美女| 色哟哟一区二区三区| 一区二区三区日本| 欧美午夜片在线观看| 亚洲高清免费视频| 欧美日韩精品一区二区在线播放 | 国产福利一区在线| 国产日韩精品一区| 91色|porny| 五月天一区二区| 精品国产1区2区3区| 国产自产2019最新不卡| 国产午夜精品久久| 91欧美激情一区二区三区成人| 中文字幕日本不卡| 精品视频全国免费看| 免费高清在线视频一区·| 久久综合色婷婷| 99re6这里只有精品视频在线观看| 亚洲女人的天堂| 91精品国产欧美日韩| 国产综合久久久久久鬼色| 国产精品少妇自拍| 欧美欧美欧美欧美| 国产精品1区2区| 亚洲大型综合色站| 久久精品亚洲一区二区三区浴池| 不卡在线观看av| 日本最新不卡在线| 国产精品私房写真福利视频| 色综合网色综合| 久久99精品久久久久婷婷| 综合中文字幕亚洲| 欧美一区二区三级| 成人性生交大片免费看在线播放| 亚洲综合精品久久| 久久亚洲一级片| 欧美视频精品在线观看| 国产麻豆精品久久一二三| 亚洲国产你懂的| 国产精品乱人伦中文| 日韩精品一区二区三区在线播放| 99久久99久久精品国产片果冻| 青椒成人免费视频| 亚洲图片激情小说| 久久久久久麻豆| 欧美喷潮久久久xxxxx| 99re66热这里只有精品3直播 | 91在线播放网址| 久久99精品国产麻豆婷婷| 亚洲尤物视频在线| 国产精品久久免费看| 欧美sm美女调教| 欧美电影影音先锋| 欧美婷婷六月丁香综合色| av成人动漫在线观看| 国产米奇在线777精品观看| 日日摸夜夜添夜夜添精品视频| 国产精品午夜电影| 国产日韩影视精品| 久久精品亚洲一区二区三区浴池| 91精品国产91久久久久久最新毛片| 在线视频国内自拍亚洲视频| 9人人澡人人爽人人精品| 粉嫩嫩av羞羞动漫久久久| 国产一区二区三区四区五区美女| 男男gaygay亚洲| 蜜桃av一区二区三区电影| 亚洲第四色夜色| 日韩黄色免费网站| 视频精品一区二区| 日韩精品1区2区3区| 亚洲成人午夜影院| 午夜不卡在线视频| 青青草97国产精品免费观看| 日韩激情av在线| 久久精品国产秦先生| 秋霞影院一区二区| 国产一区啦啦啦在线观看| 国产自产2019最新不卡| 粉嫩欧美一区二区三区高清影视| 国产·精品毛片| 91影院在线免费观看| 在线看日本不卡| 日韩三区在线观看| 国产日韩欧美高清在线| 国产精品麻豆欧美日韩ww| 亚洲色图欧洲色图婷婷| 一区二区三区资源| 日韩电影在线一区二区三区| 看国产成人h片视频| 国产福利电影一区二区三区| 成人精品免费视频| 91在线免费视频观看| 欧美日韩亚州综合| 久久综合色8888| 亚洲美女一区二区三区| 日韩高清不卡一区| 国产成人a级片| 欧美亚洲综合一区| 精品免费视频一区二区| 中文字幕一区二区三区四区不卡| 一区二区三区四区激情| 老司机精品视频一区二区三区| 国产成人av电影在线播放| 在线观看日韩av先锋影音电影院| 在线播放一区二区三区| 日本一区二区不卡视频| 亚洲成人动漫av| 成人伦理片在线| 日韩欧美专区在线| 亚洲日本一区二区| 极品少妇xxxx精品少妇偷拍 | 国产老女人精品毛片久久| 成人高清视频在线| 欧美高清视频一二三区| 国产精品视频一二三| 老汉av免费一区二区三区| 91在线精品一区二区| 精品国产1区2区3区| 亚洲午夜精品在线| 成人精品免费视频| 久久只精品国产| 日本欧美久久久久免费播放网| 91伊人久久大香线蕉| 日本一区二区成人在线| 久久99精品久久久久久久久久久久| 欧美在线播放高清精品| 中文字幕日韩一区| 国产91丝袜在线播放九色|