Bazel 从哪里获取 Selenium Webdriver 原子?
Where does Bazel gets Selenium Webdriver atoms from?
所以我有一个基于 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 以某种方式自动生成它们?
不知道这是否是最佳解决方案,但我发现
下缺少原子
...\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>
所以我有一个基于 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 以某种方式自动生成它们?
不知道这是否是最佳解决方案,但我发现
下缺少原子...\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>