2017-01-30 2 views

答えて

0

uaaまたはgithubを使用するチームのためにfly loginを自動化するには、あなたが提供するリンクをクリックして自動化し、何らかのブラウザでバックエンドサービスにサインインしてから、ブラウザのウィンドウを閉じます。

すべてのWebドライバクライアントは、この作業を数行のコードで実行できます。また、コンコースチームは、テスト用にgoを使用しているときにagouti + phantomJSを使用します。

session, _ := Fly("login", "-c", atcUrl, "-n", teamName, "--ca-cert", certPath) 
Eventually(session).Should(gbytes.Say("or enter token manually:")) 

output := string(session.Out.Contents()) 
re := regexp.MustCompile("https://.*") 
submatches := re.FindStringSubmatch(output) 
loginUrl := submatches[0] 

Expect(page.Navigate(loginUrl)).To(Succeed()) 

この後、ブラウザでアカウントへのログオンを自動化する必要があります。あなたが選んだドライバーはどちらでも簡単にできます。例えば

、この部分のための我々のコードは次のようになります。

Expect(page.FindByName("username").Fill(cfConfig.AdminUser)).To(Succeed()) 
Expect(page.FindByName("password").Fill(cfConfig.AdminPassword)).To(Succeed()) 

Expect(page.FindByButton("Sign in").Click()).To(Succeed()) 

我々はユーザーを認証するために使用するサードパーティのサービスは、ブラウザのログインが発生することを必要とするので、任意の3本足の認証フローは、ブラウザを使用します。

関連する問題