1

私がテストしているアプリケーションでは、ユーザーの Google アカウントでログインする必要があります。ログインするたびに、Google アカウントの認証済みアクセスのリストに既に追加されていることを覚えていないかのように、[アクセスを許可] ボタンを選択するように表示または要求されます。これは、手動でテストした場合には発生せず、Selenium を実行している場合にのみ発生します。誰かがこのような問題に遭遇したか、解決策を知っていますか? 前もって感謝します。

WebDriver driver = selenium_driver.get(); // using chrome driver 
baseUrl = defaults.getProperty("base_url"); // this is set to my localhost 
helper.ConnectToURL(baseUrl);

これが発生し始めたとき、私は Selenium 2.28.0 を使用していました。それ以来、2.31.0 に更新しましたが、同じ動作を示しています。

4

1 に答える 1

1

免責事項: ChromeDriver wiki によると、これは現在不可能です。「既知の問題」セクションに「カスタム プロファイルを指定できません」と記載されています。( https://code.google.com/p/selenium/wiki/ChromeDriver )

修正された時点で、テストが起動するたびに使用する承認済みアクセス セットを持つデフォルトの chrome プロファイルを作成または使用することをお勧めします。

ChromeDriver wiki によると、「デフォルトでは、ChromeDriver はセッションごとに新しい一時プロファイルを作成します」。

機能に関する詳細については、この投稿をご覧ください: http://code.google.com/p/chromedriver/wiki/CapabilitiesAndSwitches

私は .NET と Windows で仕事をしています。私のセットアップは次のようになります。

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("start-maximized");
chromeOptions.AddArgument("user-data-dir=C:\\Users\\username\\AppData\\Local\\Google\\Chrome\\User Data\\Default");
capabilities = DesiredCapabilities.Chrome();
capabilities.SetCapability(ChromeOptions.Capability, chromeOptions);
ChromeDriver chromeDriver= new ChromeDriver(this.Environment.ChromeDriverLocation, chromeOptions);

テストに Chrome を使用することに限定されていない場合は、Firefox を使用してカスタム プロファイルを作成して使用することができます。

于 2013-03-05T20:37:05.690 に答える