在播放您的编码 UI 测试时,某些元素花费的时间太长而无法识别
Some elements take too long to be identified when playing your coded UI test
假设我有一个启动 Google.com 并搜索字符串的自动化测试用例。
- 启动google.com
- 搜索"Malaysian Airline"
我已经确定了搜索字段的所有必要属性,以便回放可以很容易地找到它并 运行 通过它。但是,当我 运行 测试时,最多需要 10-14 秒才能在 Google.com 中找到搜索字段,然后在其中进行搜索。
我的密码是
BrowserWindow browser = BrowserWindow.Launch("www.google.com");
UITestControl UISearch = new UITestControl(browser);
UISearch.TechnologyName = "Web";
UISearch.SearchProperties.Add("ControlType", "Edit");
UISearch.SearchProperties.Add("Id", "lst-ib");
Mouse.Click(UISearch);
Keyboard.SendKeys(UISearch, "Malaysian Airline");
大家也可以试试。 Google.com 上几乎没有其他东西,但仍然需要很长时间才能找到我已经给出可能且唯一唯一 ID 的元素。
在 firefox 上使用 Selenium \n 按下 enter 需要 10 秒,避免了悬停和单击元素的成本。
[TestClass]
public class UnitTest1
{
FirefoxDriver firefox;
// This is the test to be carried out.
[TestMethod]
public void TestMethod1()
{
firefox = new FirefoxDriver();
firefox.Navigate().GoToUrl("http://www.google.com/");
IWebElement element = firefox.FindElement(By.Id("lst-ib"));
element.SendKeys("Google\n");
}
// This closes the driver down after the test has finished.
[TestCleanup]
public void TearDown()
{
firefox.Quit();
}
}
为了避免机器人 Google 使用一个动态容器,changes/wraps 搜索字段的位置因此你的脚本曾经工作将不再工作。
当时的想法是用更深的路径编写测试代码。即不要只将 xpath 放在搜索文本文件中,还要放在 Div 和它所属的容器中。
假设我有一个启动 Google.com 并搜索字符串的自动化测试用例。
- 启动google.com
- 搜索"Malaysian Airline"
我已经确定了搜索字段的所有必要属性,以便回放可以很容易地找到它并 运行 通过它。但是,当我 运行 测试时,最多需要 10-14 秒才能在 Google.com 中找到搜索字段,然后在其中进行搜索。
我的密码是
BrowserWindow browser = BrowserWindow.Launch("www.google.com");
UITestControl UISearch = new UITestControl(browser);
UISearch.TechnologyName = "Web";
UISearch.SearchProperties.Add("ControlType", "Edit");
UISearch.SearchProperties.Add("Id", "lst-ib");
Mouse.Click(UISearch);
Keyboard.SendKeys(UISearch, "Malaysian Airline");
大家也可以试试。 Google.com 上几乎没有其他东西,但仍然需要很长时间才能找到我已经给出可能且唯一唯一 ID 的元素。
在 firefox 上使用 Selenium \n 按下 enter 需要 10 秒,避免了悬停和单击元素的成本。
[TestClass]
public class UnitTest1
{
FirefoxDriver firefox;
// This is the test to be carried out.
[TestMethod]
public void TestMethod1()
{
firefox = new FirefoxDriver();
firefox.Navigate().GoToUrl("http://www.google.com/");
IWebElement element = firefox.FindElement(By.Id("lst-ib"));
element.SendKeys("Google\n");
}
// This closes the driver down after the test has finished.
[TestCleanup]
public void TearDown()
{
firefox.Quit();
}
}
为了避免机器人 Google 使用一个动态容器,changes/wraps 搜索字段的位置因此你的脚本曾经工作将不再工作。
当时的想法是用更深的路径编写测试代码。即不要只将 xpath 放在搜索文本文件中,还要放在 Div 和它所属的容器中。