3

我在使用 codedui 进行跨浏览器测试时遇到问题。使用下面的代码,

Process.Start("firefox", url);
BrowserWindow.CurrentBrowser = "firefox";
Browser = BrowserWindow.Launch(new System.Uri(url));
Keyboard.SendKeys("^{0}");

在 IE 中开发的所有代码。但现在我必须在 firefox 或 chrome 中执行代码。我将在 forefox 中执行代码。我在这里使用此代码

Browser = BrowserWindow.Launch(new System.Uri(url));

在这一行中出现“连接到 Firefox 时发生错误”之类的错误。如何解决这个问题?我也安装了 selenium 组件。如果我删除此行,我会收到不同的错误,例如“无法找到浏览器”...请帮助。

4

4 回答 4

3

开箱即用的 Visual Studio 不支持跨浏览器 CodedUI 测试。

您将需要安装 Selenium 组件以允许在 Visual Studio 中进行跨浏览器测试。

详细信息可以在这里找到:

http://blogs.msdn.com/b/visualstudioalm/archive/2012/10/30/introducing-cross-browser-testing-with-coded-ui-tests.aspx

硒成分可以在这里找到:

http://visualstudiogallery.msdn.microsoft.com/11cfc881-f8c9-4f96-b303-a2780156628d

于 2013-10-29T14:40:46.693 回答
0

尝试

BrowserWindow.CurrentBrowser = "firefox";
BrowserWindow WebApp;
WebApp.CopyFrom(BrowserWindow.LaunchUrl(new System.Uri(url)));

我设置了类似于以下内容的东西并且效果很好(我手动编写所有代码,绕过 UIMap)。

public class WebApp : BrowserWindow
{
   private string _url;

   public WebApp(string url)
   {
      //define search properties using this keyword so the web application can be treated as a browser
      _url = url;
      BrowserWindow.CurrentBrowser = "Chrome";
      this.CopyFrom(BrowserWindow.Launch(new Uri(url));
   }
}

你可以重载构造函数,当然,通过添加一个参数供浏览器使用或者是否启动浏览器。

通过将 Web 应用程序设置为 BrowserWindow,您可以打开并准备好一个,播放引擎应该会找到它。我发现这在进行测试(在 IE 中)时很有帮助。

提醒一下,您确实需要 Selenium 插件,并且该插件只能用于播放,不能用于录制。

干杯!

于 2014-04-11T12:55:45.583 回答
0

在我们的环境中,我们通过执行以下操作来设置 Launch() 方法:

public void LaunchBrowser(string uri)
{
    BrowserWindow.CurrentBrowser = "firefox";
    BrowserWindow myBrowser = BrowserWindow.Launch(new System.Uri(uri));
}

需要注意的一点是,如果后台已经有 firefox 进程运行,WebDriver 不会启动新实例,因此请确保在调用 LaunchBrowser() 之前关闭所有 firefox 实例。我发现有一些 Java 插件可以让它在后台运行,所以试着禁用那些你不需要的插件。如果您检查任务管理器并且是这种情况,那么另一个值得关注的地方就是这里。

于 2014-08-21T16:24:27.970 回答
0

看起来 CodedUI 不支持在很多不同的浏览器上播放http://msdn.microsoft.com/en-us/library/dd380742(VS.100).aspx

还有一些其他工具http://watin.org/就是其中之一,但我自己找不到任何可以真正解决您问题的工具。

于 2013-10-28T18:42:49.567 回答