首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载文件或程序集的SeleniumExtras.WaitHelpers

无法加载文件或程序集的SeleniumExtras.WaitHelpers
EN

Stack Overflow用户
提问于 2020-09-16 01:45:30
回答 1查看 334关注 0票数 0

我正试着用

代码语言:javascript
复制
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.Id("logonIdentifier")));

但是,我得到了一个错误,无法加载文件或程序集的SeleniumExtras.WaitHelpers。

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="DotNetSeleniumExtras.WaitHelpers" Version="3.11.0" />
    <PackageReference Include="NUnit" Version="3.12.0" />
    <PackageReference Include="TestProject.SDK" Version="0.63.1" />
  </ItemGroup>

</Project>


<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>

    <IsPackable>false</IsPackable>
      <PublishChromeDriver>true</PublishChromeDriver>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="DotNetSeleniumExtras.WaitHelpers" Version="3.11.0" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
    <PackageReference Include="MSTest.TestAdapter" Version="2.1.0" />
    <PackageReference Include="MSTest.TestFramework" Version="2.1.0" />
    <PackageReference Include="coverlet.collector" Version="1.2.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\testForLogin\testForLogin.csproj" />
  </ItemGroup>

</Project>

它在本地工作,但当我尝试将它推送到testproject.io时,我得到了上面的错误消息。

我无法将其更改为推荐的selenium web驱动程序版本。

EN

回答 1

Stack Overflow用户

发布于 2020-12-10 08:50:57

您正在使用的软件包与.NET核心不兼容。通过对代码进行一些重新构造,您需要的内容可以通过

代码语言:javascript
复制
using OpenQA.Selenium.Support.UI;

然后获取使用SeleniumExtras等待帮助器的代码,并更改为在驱动程序类上使用方法,例如

代码语言:javascript
复制
WebDriverWait browserWait = new WebDriverWait(driver, TimeSpan.FromSeconds(90));
browserWait.Until(driver => driver.FindElement(By.Id("logonIdentifier")).Displayed);

您也可以很容易地检查驱动程序的属性,比如Url,比如

代码语言:javascript
复制
const string expectedUrl = "https://www.google.com";
browserWait.Until(driver => driver.Url == expectedUrl);

然后从项目中删除不再使用的包

代码语言:javascript
复制
dotnet remove package DotNetSeleniumExtras.WaitHelpers

有趣的是https://www.selenium.dev/documentation/en/的主页,但当你搜索的时候,你往往会被SeleniumExtras项目分散注意力。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63907276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档