我在Firefox中使用Selenium IDE开发了一组测试。测试运行良好,全部通过。现在我正在尝试将这些移植到C#并使用MSTest和selenium-server运行IE测试。这是事件的顺序:
在VS2008中运行测试。 Selenium设置为:selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://localhost/theSite/");
;请注意,我可以浏览http://localhost/theSite/
就好了。
4A。确认测试正在启动Firefox。得到的结果: 17:00:30.290 INFO - 准备Firefox个人资料... 17:00:33.842 INFO - 启动Firefox ...
第一次测试(控制“ctl00_TopNavBar_LoginStatus1”中的waitForText“Login”)失败。找不到控件。
if ("Login" == selenium.GetText("id=ctl00_TopNavBar_LoginStatus1")) break;
要么
if ("Login" == selenium.GetText("ctl00_TopNavBar_LoginStatus1")) break;
所有其他测试也失败了 - 同样的原因。每个测试的顶部都有waitForText
。
尝试在* chrome,* iexploreproxy和* firefox中运行测试。所有失败都是出于同样的原因。
尝试使用selenium.CaptureEntirePageScreenshot("c:\\temp\\screenshots\\seleniumSite.png", "background=#FFFFFF");
转储屏幕截图,屏幕截图只是一个白条。
所以,我的问题是,我该如何调试这个并弄清楚真正的问题是什么? 显然页面将呈现并且测试将通过。就在我在Selenium-RC中尝试这些测试时,它失败了。 Selenium IDE是否有一些与将测试导出到C#相关的错误? (我注意到一个错误)。
答案 0 :(得分:1)
您正在执行selenium.Start()
和selenium.Open()
吗?您是否在浏览器中看到该页面已打开?
完全初始化应类似于:
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://localhost/");
selenium.Start();
selenium.Open("/theSite/");
重要提示!从空白页开始测试您的IDE测试。此外,在使用IDE时,如果命令只有一个参数将其放在“目标”字段中,即使它不是控件名称。