在 saucelabs 网站上,他们提供了如下代码片段:
WebDriver webDriver = new WebDriver();
webDriver.set(new RemoteWebDriver(
new URL("https://UrlHEREagwgwgqwg4894+4+91gwgq")
))
当我将此添加到我的测试中时,在 WebDriver 下它说找不到类型或命名空间“WebDriver”。它即将出现一个命名空间。对于我的 Selenium 测试,我使用的是 IWebDriver。我试图将 WebDriver 更改为 IWebDriver,但没有成功。我在 URL 下也收到相同的错误,说找不到命名空间。对于那个,它确实显示了使用 System.Security.Policy 的命名空间;如果我添加它,那么我会在下面得到一个错误
new URL("https://UrlHEREagwgwgqwg4894+4+91gwgq")
参数 1:无法从 'System.Security.Policy.Url' 转换为 'OpenQA.Selenium.DriverOptions'
这就是我尝试使用它的方式。我使用 ChromeDriver 进行 selenium 测试,但评论了该部分以在其他浏览器上使用 saucelabs 进行测试。这是我第一次与 selenium/saucelabs 合作,所以我正在做的事情完全是我的,我很感激任何建议。
[Fact]
public static void ClickDownloadButton()
{
WebDriver driver = new WebDriver();
driver.set(new RemoteWebDriver(
new Url("https://UrlHEREagwgwgqwg4894+4+91gwgq")
));
//using IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl(BaseUrl.downloadsUrl);
var login = new Login(driver);
login.EnterEmail();
login.EnterPassword();
login.HitSubmit();
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
var downloadButton = wait.Until((d) => d.FindElements(By.LinkText("Download File")));
foreach (var button in downloadButton)
{
IWebElement element = wait.Until((d) => d.FindElement(By.LinkText("Download File")));
element.Click();
}
driver.Quit();
}
以下是使用语句:
using Xunit;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using System;
using System.IO;
using System.Security.Policy;
using OpenQA.Selenium.Remote;