我正在和其他几个人一起做项目,我们使用Selenium进行自动化测试。我们使用Git来共享我们的代码,但每次我们检查它时,我们都需要更新驱动程序的路径,因为它们存在于每台计算机的本地。
它看起来像这样:
System.setProperty("webdriver.chrome.driver","C:/Path/chromedriver.exe");
driver = new ChromeDriver();
我们已经尝试了很长一段时间,但无法找到解决问题的方法。
答案 0 :(得分:3)
你只需要告诉git假设文件没有改变。
这也称为暂时忽略文件。
你不想把它们放在.gitignore中,因为你仍然需要这个文件,你只需要告诉git暂时不要注意它,所以如果它改变了你就会忽略它本地。
有关如何从命令行执行此操作的良好指南here,或者如果您使用的是 TortoiseGit ,则可以通过以下方式执行此操作:< / p>
请注意,这需要在每台本地计算机上完成,因为每个人都希望忽略他们对文件所做的更改。
另请注意,如果您需要经常检查与路径相同的文件的更改,我建议从单独的文件中注入路径,这通常不需要检查。
一个单独的常量类的简单示例可能如下所示:
SeleniumSettings.java
public class SeleniumSettings {
public static final String CHROME_DRIVER_PATH = "C:/Path/chromedriver.exe";
}
然后在原始课程中,您可以通过以下方式调用您的属性设置器:
System.setProperty("webdriver.chrome.driver",SeleniumSettings.CHROME_DRIVER_PATH);
driver = new ChromeDriver();
另外:您可以创建一个包含默认配置的模板文件,然后每个人都会复制模板并调整自己的路径,并且可以将基于模板的调整后的文件添加到.gitignore文件,因为仍然会为每个人提取模板。
答案 1 :(得分:1)
将其放在项目的文件夹中,并仅提供相对路径。 所以它有点像:
System.setProperty("webdriver.chrome.driver","webdrivers/chromedriver.exe");
所以在这里你可以看到webdrivers
是你当前项目下的一个文件夹。所以每个人都可以给出这个相对路径,一旦你在chromedriver中检查了给定文件夹中的git,它也不会要求chromedriver。但是请记住保持整个团队中独特的chromedriver版本。