2017-12-23 13 views
1

Browserstackを使用して、生産環境に対して当社のコードテストテスト(スモークテストとして)を実施します。 Codeceptionを識別する簡単な方法はありますか?カスタムヘッダー、ユーザーエージェント、またはCookieを設定することによって生産現場でのコードシェアの確認

私たちは常に当社のサイトでA/Bテストを行い、コントロールセグメントを常にCodeceptionに表示したいと考えています。

私はそれに関するドキュメントを見つけることができません。

答えて

0

どのように使用しているかによって異なります。おそらく受け入れテストの話をしているかもしれませんが、そのコンセプトはブラウザインタラクションを最初の人から動かすあらゆるアクションに使用できます。だから、あなたは何をしていたに応じて、あなたがやっていたものは何でも通常のログインアクションを通じてCodeceptionを特定することができました

$I->amOnPage('/homepage'); 
$I->loginAsAdmin(); 

:だからあなたのような何かをするかもしれません。たとえば、WordPressをテストしている場合は、「CodeceptTester」というユーザー名を作成し、そのログインを監視するだけです。実際のヘッダーを設定するのは難しいです。 PHPbrowserで行うことはできますが、Seleniumでは行うことはできません。実際には、私はあなたがCodeceptionによってSeleniumヘッダーを設定できないと確信していますが、これを行うことができるブラウザのためのプラグインがあります。あなたはPhantomJSでそれをすることができますが、私はどのように知りません。

setting request headers in selenium

http://phptest.club/t/useragent-in-codeception/186/3

0

おそらくあなたは、ユーザーエージェント文字列を見て、それを識別することができます。例えば、我々は、クロームのヘッドレス(+ WebDriver)を使用していて、それがうまく自分自身を導入しています:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 HeadlessChrome/63.0.3239.84 Safari/537.36

を...しかし、あなたは他の誰かができた、理論的には、ので、それはあなたです、100%確認することはできませんあなたのウェブサイトに対してもそれを実行してください。

また、あなたはparent::amOnPage()を呼び出す前にヘッダを設定するには、あなたの承諾テスターでamOnPage()メソッドをオーバーライドすることができます:それは同じようにページをヒットされますので、

public function amOnPage($page) 
{ 
    $this->haveHttpHeader('x-codeception', '1'); 
    parent::amOnPage($page); 
} 

ただ、あまりにもamOnUrl()を上書きすることを忘れないでくださいamOnPage()amOnSubdomain()はサブドメインを訪問することなく切り替えるだけです。

+0

したがって、haveHttpHeaderはRestAPI用であり、WebDriverでは動作しません。 – daydreamer

0

これは私がやったことです。 acceptance.test.ymlでは、私はchromeブラウザ(私にとっては問題ではありませんでした)を使ってargsを使ってuser-agentを上書きし、それを私のprod環境で探しました。

capabilities: 
    chromeOptions: 
    args: ["--user-agent=SmokeTesting"] 
関連する問題