Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8823

Laravel/Dusk でブラウザテストする際のちょっとしたTipを2つほど

$
0
0

はじめに

Laravel/Duskを使い始めて標準で用意されていないケースが2つほどありました。
その対策を紹介したいと思います。

1.CSSの情報を取得

ElementResolverとWebDriverのメソッドを活用します。

testExample1.php
publicfunctiontestExample1(){$this->browse(function(Browser$browser){$browser->();$opacity=$browser->resolver->findOrFail('div.hoge button')->getCSSValue('background');# buttonタグで指定されているStyleのbackground値を取得している$this->assertEquals($background,'rgb( 128, 128, 128 )');// 色情報はrgb関数で表記する。#は使えない});}

参考: Browser(Dusk)のソース、RemoteWebDriverElementのソース

2.target="_blank"を指定したリンク先へ移動

RemoteWebDriverの機能を使います。

testExample2.php
publicfunctiontestExample2(){$this->browse(function(Browser$browser){$browser->click('... a');// target="_blank"なリンクをクリック$current_window=$browser->driver->getWindowHandle();// 現在開いているウインドウに戻りたい時は予めハンドルを取得$target_window=collect($browser->driver->getWindowHandles())->last();// 開いたタブはウインドウリストの最後と見て取得$browser->driver->switchTo()->window($target_window);// 対象のウインドウを移動// アサーションは略$browser->driver->switchTo()->window($current_window);// 対象のウインドウを最初のものに戻す});}

参考: Duskのissue, RemoteWebDriverのソース

まとめ

標準に無いとしても諦めなければなんとかなりますね!


Viewing all articles
Browse latest Browse all 8823

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>