Javascript 动态设置量角器的驱动程序路径

Javascript 动态设置量角器的驱动程序路径,javascript,selenium,selenium-webdriver,protractor,Javascript,Selenium,Selenium Webdriver,Protractor,我有一个测试,需要对IE、CEFmp和Chrome进行测试。要求如下: IE、Cefmp和Chrome应该是一个conf.js 应该从文件中读取浏览器类型,并针对该特定浏览器运行测试 对于Chrome和CEFmp运行,direct connect应为true 对于Chrome和CEFmp运行,应该只拾取本地路径中给定的特定驱动程序,而不是从量角器默认路径 我能够根据文件中提到的值选择特定的浏览器类型,并对其运行测试,同时将Chrome和CEFmp浏览器类型的directconnect设置为tru

我有一个测试,需要对IE、CEFmp和Chrome进行测试。要求如下:

  • IE、Cefmp和Chrome应该是一个conf.js
  • 应该从文件中读取浏览器类型,并针对该特定浏览器运行测试
  • 对于Chrome和CEFmp运行,direct connect应为true
  • 对于Chrome和CEFmp运行,应该只拾取本地路径中给定的特定驱动程序,而不是从量角器默认路径 我能够根据文件中提到的值选择特定的浏览器类型,并对其运行测试,同时将Chrome和CEFmp浏览器类型的directconnect设置为true。 然而,我无法找到一个解决方案,使测试拿起一个特定的铬驱动程序。目前,它选择node_modules/dragrator/selenium中给出的默认驱动程序并使用它运行测试。我想知道是否有一种方法可以动态地选择特定路径中的驱动程序

    提前谢谢。

    我想你应该:

    • 在文本文件中设置更多值,如“chrome-x”、“chrome-y”
    • 在项目中添加“webdrivers”文件夹
    • 在其中存储ChromeDriver(您需要的每个版本)
    然后,在代码中:

    File chromeDriverFile = new File("webdrivers/" + webdriverAsRetrievedInYourTextFile); // you define the path here
    System.setProperty("webdriver.chrome.driver", chromeDriverFile.getAbsolutePath());
    WebDriver driver = new ChromeDriver();
    
    我想你应该:

    • 在文本文件中设置更多值,如“chrome-x”、“chrome-y”
    • 在项目中添加“webdrivers”文件夹
    • 在其中存储ChromeDriver(您需要的每个版本)
    然后,在代码中:

    File chromeDriverFile = new File("webdrivers/" + webdriverAsRetrievedInYourTextFile); // you define the path here
    System.setProperty("webdriver.chrome.driver", chromeDriverFile.getAbsolutePath());
    WebDriver driver = new ChromeDriver();
    

    似乎我找到了一种解决这个问题的方法。如果有更好的方法,请告诉我

    由于我无法找到将路径重定向到驱动程序以从本地文件夹中拾取路径的方法,因此我们解决该问题的一种方法是复制默认位置驱动程序(node_module)并将其替换为本地驱动程序(我们希望使用的驱动程序)

    var fs = require('fs');
    fs.createReadStream(path.resolve(__dirname + '/bin/Drivers/CefMp/chromedriver.exe')).pipe(fs.createWriteStream(path.resolve('C:/node_modules/protractor/selenium/chromedriver.exe')));
    

    因此,通过这种方式,即使
    量角器
    节点模块
    文件夹中选择默认驱动程序,它最终也会使用我们希望它使用的驱动程序。

    似乎我找到了一种解决此问题的
    方法。如果有更好的方法,请告诉我

    由于我无法找到将路径重定向到驱动程序以从本地文件夹中拾取路径的方法,因此我们解决该问题的一种方法是复制默认位置驱动程序(node_module)并将其替换为本地驱动程序(我们希望使用的驱动程序)

    var fs = require('fs');
    fs.createReadStream(path.resolve(__dirname + '/bin/Drivers/CefMp/chromedriver.exe')).pipe(fs.createWriteStream(path.resolve('C:/node_modules/protractor/selenium/chromedriver.exe')));
    

    因此,通过这种方式,即使
    量角器
    节点模块
    文件夹中选择默认驱动程序,它最终也会使用我们希望它使用的驱动程序。

    感谢您的回复。量角器怎么做?谢谢你的回复。如何为量角器进行此操作?