сеанс не создан, необработанная ошибка инспектора - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь подключиться к моей приставке через chromedriver.exe (chromedriver = 72.0.3626.69) с моего ноутбука, но я не могу этого сделать.В моей приставке включены хром и веб-драйвер.Раньше мы запускали тестовые сценарии с помощью библиотек удаленного веб-драйвера selenium python / selenium java на телевизионной приставке (безголовый хром) - по телевизору можно легко увидеть просмотр каналов, открытие телепередач и т. Д.Предварительное условие: приставка должна быть включена для веб-драйвера с подключенным кабелем Ethernet, чтобы он получал IP-адрес.

В настоящее время мы хотим повторить ту же структуру через библиотеки codeceptjs / webdriver, но я не могу сделатьИтак.

Ниже приведена конфигурация, которую я попробовал:

1) файл codecept.conf.js

exports.config = {
   tests: './*_test.js',
   output: './output',
   helpers: {

     WebDriver: {
       url: 'http://locahost',
       port: 9515,     
       smartWait: 30000,  
       waitForTimeout: 15000,
       keepBrowserState: true,
       restart: false,
       browser: 'chrome',      
       desiredCapabilities:{      
         chromeOptions: {
           args : ["--disable-gpu","--allow-file-access-from-files", "--disable-web-security", "--ignore-certificate-errors" ],
           debuggerAddress: "10.12.130.83:2999",  /* this is the ip address of set top box */


         }, 

       }
     },
    MyHelper:{
      require: "./codecept_anupam.js"
    }  
   }
}

2) codecept_anupam.js

const Helper = codecept_helper;
const event = require('codeceptjs').event;

class MyHelper extends Helper {
 constructor () {
    super();
  }

_beforeSuite  (suite) {
    console.log('_beforeSuite');
    this.suiteTitle = suite.title;
    console.log(this.helpers);
    console.log(this.helpers['WebDriver']);
    if (!this.target)
    {
        //this.target = this.helpers['Puppeteer'];
        this.target = this.helpers['WebDriver'];
        this.page = this.target.browser;
        //this.page.send('Security.setIgnoreCertificateErrors', { ignore: 
    true });
    }
    //return 


   this.target.amOnPage('file:///C:/development/Codefest/app/client/launch-emulator.html');
      //return this.target.amOnPage('http://10.12.130.83:2999/Main.html? 
  page=1');
    }
}

module.exports = MyHelper;
;

Я убедился, что сервер Selenium запущен и работает с chromedriver.Я использовал следующую команду:

java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.141.59.jar -port 9515

Ниже приведено сообщение об ошибке: -

[Session] Starting singleton browser session
[1] Error | Error: Can't connect to WebDriver.
session not created: session not created
from unknown error: unhandled inspector error: {"code":-32601,"data": 
[{"code":-32601,"message":"'Target' domain was not 
found"}],"message":"'Target' domain was not found"}
(Session info: =)
(Driver info: chromedriver=72.0.3626.69 
(3c16f8a135abc0d4da2dff33804db79b849a7c38),platform=Windows NT 10.0.14393 x86_64) (WARNING: The server did not provide any stacktrace information)
 Command duration or timeout: 115 milliseconds
 Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11- 
 14T08:25:53'


    System info: host: 'MOB700042', ip: '169.254.47.0', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_101'
Driver info: driver.version: unknown

Please make sure Selenium Server (ChromeDriver or PhantomJS) is running and accessible
    Emitted | test.failed ([object Object])
  × "before all" hook: codeceptjs.beforeSuite in 2079ms
    [1] Error | Error: Can't connect to WebDriver.
session not created: session not created
from unknown error: unhandled inspector error: {"code":-32601,"data":[{"code":-32601,"message":"'Target' domain was not found"}],"message":"'Target' domain was not found"}
  (Session info: =)
  (Driver info: chromedriver=72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38),platform=Windows NT 10.0.14393 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 115 milliseconds
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MOB700042', ip: '169.254.47.0', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_101'
Driver info: driver.version: unknown

Please make sure Selenium Server (ChromeDriver or PhantomJS) is running and accessible
Error: Can't connect to WebDriver.
session not created: session not created
from unknown error: unhandled inspector error: {"code":-32601,"data":[{"code":-32601,"message":"'Target' domain was not found"}],"message":"'Target' domain was not found"}
  (Session info: =)
  (Driver info: chromedriver=72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38),platform=Windows NT 10.0.14393 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 115 milliseconds
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MOB700042', ip: '169.254.47.0', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_101'
Driver info: driver.version: unknown

Please make sure Selenium Server (ChromeDriver or PhantomJS) is running and accessible

Мы использовали следующий код в python для подключения к приставке при помощи chromedriver иу нас все работало нормально:

def start(self): 
    if self.running is False:
        #kill any old process        
        str_command = "taskkill /f /t /im chromedriver.exe"
        tmp_process = subprocess.Popen(str_command.strip(), shell=True)
        tmp_process.wait()

        str_command = "_driver\\chromedriver.exe --port=9515 --whitelisted-ips" # --verbose
        self.process = subprocess.Popen(str_command.strip(), shell=True)

        time.sleep(6)
        options = ChromeOptions()
        options.add_experimental_option("debuggerAddress", self.stb_ip)
        self.driver = webdriver.Remote(command_executor='http://localhost:9515', desired_capabilities = options.to_capabilities())

        self.running = True      
    return
...