【问题标题】:Where does Bazel gets Selenium Webdriver atoms from?Bazel 从哪里获得 Selenium Webdriver 原子?
【发布时间】:2023-03-30 21:40:02
【问题描述】:

所以我有一个基于 Selenium 的测试自动化框架(将其用作 .dll)。我想要做的是将 Selenium 添加为一个项目,以便能够通过其代码进行调试。

我看到在 WebDriver.csproj 中有一行调用 cmd 作为预构建步骤

<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Condition="'$(OS)' == 'Windows_NT'">
    <Exec Command="call $(ProjectDir)WebDriver.csproj.prebuild.cmd $(ProjectDir)" />
  </Target>

  <Target Name="PreBuildNonWindows" BeforeTargets="PreBuildEvent" Condition="'$(OS)' != 'Windows_NT'">
    <Exec Command="$(ProjectDir)WebDriver.csproj.prebuild.sh $(ProjectDir)" />
  </Target>

这个 cmd 运行一些 Bazel 命令

@echo off
if not exist "%1..\..\..\bazel-bin\javascript\webdriver\atoms\get-attribute.js" (
  echo Building getAttribute atom
  pushd "%1..\..\.."
  bazel build //javascript/webdriver/atoms:get-attribute.js
  popd
)

if not exist  "%1..\..\..\bazel-bin\javascript\atoms\fragments\is-displayed.js" (
  echo Building isDisplayed atom
  pushd "%1..\..\.."
  bazel build //javascript/atoms/fragments:is-displayed.js
  popd
)

if not exist  "%1..\..\..\bazel-bin\javascript\atoms\fragments\find-elements.js" (
  echo Building findElements atom
  pushd "%1..\..\.."
  bazel build //javascript/atoms/fragments:find-elements.js
  popd
)

我试图在我的机器(运行 Windows Server 2016)上安装 Bazel,但由于某种原因,安装后甚至无法获得版本。消息说它与我的 Windows 版本不兼容。 所以我决定在互联网上搜索 Selenium 中使用的所有 javascript 文件。我能找到其中的大多数,除了几个。 所以我的问题是:是否有 Selenium js 原子的存储或 Bazel 以某种方式自动生成它们?

【问题讨论】:

  • 请勿发布代码图片。只需复制并粘贴并单击问题编辑器中的代码按钮即可。代码图片太难阅读了。
  • @GregBurghardt 已编辑。有什么与问题有关的吗?

标签: c# selenium selenium-webdriver webdriver bazel


【解决方案1】:

不知道这是否是最好的解决方案,但我发现下面缺少原子

...\selenium-trunk\rb\lib\selenium\webdriver\atoms\

我需要的只是重命名它们并像这样放置到适当的文件夹中:

getAttribute.js=>get-attribute.js=>...\selenium-trunk\bazel-bin\javascript\webdriver\atoms\
isDisplayed.js=>is-displayed.js=>...\selenium-trunk\bazel-bin\javascript\atoms\fragments\
findElements.js=>find-elements.js=>...\selenium-trunk\bazel-bin\javascript\atoms\fragments\ 

路径是 WebDriver.csproj 搜索该文件的位置

<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/webdriver/atoms/get-attribute.js">
      <Visible>False</Visible>
      <LogicalName>get-attribute.js</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/atoms/fragments/is-displayed.js">
      <Visible>False</Visible>
      <LogicalName>is-displayed.js</LogicalName>
</EmbeddedResource>
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/atoms/fragments/find-elements.js">
      <Visible>False</Visible>
      <LogicalName>find-elements.js</LogicalName>
</EmbeddedResource>

【讨论】:

    猜你喜欢
    • 2011-12-02
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    相关资源
    最近更新 更多