2017-12-05 7 views
0

私は複数のウェブサイトを持っています。複数のウェブドメインでLaravel Duskを実行

  1. en.web-site.com/pages/faqs
  2. fr.web-site.com/pages/faqs
  3. ar.web-site.com/pages/faqs
  4. BR。同じURI構造

を持っている30以上のウェブサイトは、私はこれらのウェブサイトのそれぞれのブラウザテストを実行したい...

  • をweb-site.com/pages/faqs。

    すべての私のウェブサイトのfaqsページの電子メールを更新しました。それらのすべてに変更があるかどうかをテストしたいと思います。

    <?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('[email protected]') 
           ->assertDontSee('[email protected]'); 
         }); 
        } 
    } 
    

    このテストでは、絶対に私のウェブサイトのいずれかで問題なく動作しますが、私は.envファイル私はそれを実行する必要があるたびに編集する必要があります。

    .envファイルを編集することなく、これらのウェブサイトすべてでテストできるようにするにはどうすればよいですか?

  • 答えて

    0

    これを達成するには、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を参照してください。
    関連する問題