C# 需要内置单声道的ChromeDriver吗

C# 需要内置单声道的ChromeDriver吗,c#,macos,selenium,mono,ninja,C#,Macos,Selenium,Mono,Ninja,我正在使用C#WebDriver自动化web应用程序。所有内容都是针对Windows编写的。但现在也需要为Mac做好准备。Selenium webdriver使用ChromeDriver.exe启动Chrome。此exe可以在Windows中使用C#进程类启动;但不是在Mac中,在Mono中使用相同的类。解决方案似乎是在Mono中构建ChromeDriver。我从github获得了ChromeDriver源代码。但是很难建立同样的体系。 问题是:如何使用Mono构建ChromeDriver.ex

我正在使用C#WebDriver自动化web应用程序。所有内容都是针对Windows编写的。但现在也需要为Mac做好准备。Selenium webdriver使用ChromeDriver.exe启动Chrome。此exe可以在Windows中使用C#进程类启动;但不是在Mac中,在Mono中使用相同的类。解决方案似乎是在Mono中构建ChromeDriver。我从github获得了ChromeDriver源代码。但是很难建立同样的体系。 问题是:如何使用Mono构建ChromeDriver.exe。我使用的是Xamarin Studio(这是我在C#on Mac中开发的开发IDE)。所以我的目标是在Xamarin Studio中加载ChromeDriver源代码并构建它。但是当我查看ChromeDriver的源代码时,我看到了几个没有任何项目文件的C文件,如*.vcxproj。搜索这个话题,我发现它可以用忍者来建造。有一个命令“ninja-C out\Release chromedriver”将为我执行。所以我从github找到了忍者的资料。但当我尝试运行build命令时,它会抱怨out/Release文件或目录不存在。它确实不存在于我获取忍者的文件夹中。我唯一的信息是,一旦我生成忍者文件,out文件夹就会在那里。但我完全不知道如何做,也不知道做这件事的先决条件是什么。 回到我需要它的原因:在selenium webdriver代码中,ChromeDriver是使用C#process类启动的

Process p = new Process();
p.StartInfo.FileName = <Full Path of ChromeDriver.exe>;
p.UseShellExecute = false;
p.Start();
processp=新流程();
p、 StartInfo.FileName=;
p、 UseShellExecute=false;
p、 Start();
这个C#代码片段在Windows中工作,但在Mac上不工作。我使用Xamarin Studio来调试它。我在p.start()行得到的错误是“没有进程连接到对象p”。接下来,我使用Mac上的Xamarin Studio在C#中构建了一个简单的控制台应用程序;i、 e.输出exe采用Mono框架构建。在上面的代码中,我使用这个exe的路径而不是ChromeDriver。p.Start()执行成功,没有错误

因此,问题归结为ChromeDriver.exe的单版本。在chromedriver的网站上,他们有适用于Windows的chromedriver.exe,适用于Mac的chromedriver.dmg,但没有单声道版本。我正在寻找以下三种解决方案之一: 1.如果用Mono构建的ChromeDriver.exe已经上传到了某个地方,没有比这更好的了。 2.我可以尝试构建ChromeDriver源的步骤 () 用单声道。 3.完全跳过构建,找到其他方法在Mac中启动ChromeDriver.exe

在过去的几天里,我对所有这些都感到很抓狂:(。任何帮助都将不胜感激!如果需要更多信息,请告诉我。请帮助。)

提前感谢,,
Deb

很抱歉缺席了一年!非常感谢你的关心。是的,我终于做到了。从下载了chromedriver的Mac版本。并在Xamarin Studio中编写的C#(mono)代码中使用了它。我能够使用通常的“SeleniumDriver=new chromedriver(driverLibrary);”调用chromedriver声明。但我不得不在多个地方对C代码进行更多更改,以使整个自动化框架在Mac上工作。我忘记了更精细的细节,但记得这很有趣!人们很高兴看到Webdriver+Mono在Mac上运行它!

您收到的任何错误消息也会很有帮助。您收到了哪些错误并发布fu我将堆栈跟踪。这些词没有任何意义,没有错误和代码来备份。编辑了文章,提供了更多详细信息。请注意,该程序不会在Mac上使用ChromeDriver.exe,除非它是使用Windows扩展创建的,以便与Windows兼容。Hi@Deb只是好奇,你是否能够在Mac上使用Mono运行WebDriver?哦,我不认为你有请留下更多关于这个的细节?会很有帮助的!