テスト対象のアプリケーションは、機能のためにIFrameを生成します。XPATH、CSS、またはLinkTextのいずれかのロケーター戦略を使用して、IFrame上で要素を完全に見つけることができます。ただし、を実行するClick()
と、コードは別の場所をクリックします。たとえば、画面には4つの回答がある多肢選択式の質問があり、スクリプトは3番目のオプションをクリックすることになっていますが、最終的には1番目のオプションをクリックします。ボタンがまったくクリックできないボタンの場合、問題はさらに深刻になります。ただし、Click()
イベントはエラーをスローしません。Action()
インターフェイスを使ってみましたが、うまくいきませんでした。Action.Perform()
screen要素がHTMLの外にあるというエラーをスローします。誰か助けてもらえますか?
Selenium WebDriver(.NET)バージョン2.31とFirefox19.0.2を.NETFramework4.0で使用しています。
driver.SwitchTo().Frame(2);
System.Threading.Thread.Sleep(20000);
IWebElement Answer1 = driver.FindElement(By.XPath(".//*[@id='question-reload']/div[3]/div[2]/ul/li[1]/a"));
Answer1.Click();
driver.FindElement(By.LinkText("Find the embassy")).Click();
IWebElement Next = driver.FindElement(By.XPath(".//*[@id='next']/b/i"));
int X = Next.Location.X;
int Y = Next.Location.Y;
Next.Click();
for (int i = 0; i < 59; i++)
{
System.Threading.Thread.Sleep(3000);
IWebElement newNext = driver.FindElement(By.XPath(".//*[@id='next']/b/i"));
newNext.Click();
}