2017-09-20 1 views
0

Ich habe automatisierte Tests mit Nightwatch-Cucumber basierend auf Nightwatch.js erstellt. Ich kann die Tests auf dem lokalen Rechner starten, der Selenium server startet auf dem lokalen Rechner und die Tests werden ausgeführt.Run Nightwatch.js Tests gegen einen Remote-Selenium-Server in Kubernetes Umgebung

Aber jetzt möchte ich die vorhandenen Tests in eine Kubernetes-Umgebung integrieren. Auf dem lokalen Rechner möchte ich minikube, , einen jenkins chart zum Starten der Tests und einen selenium chart verwenden. Aber dieses Setup ist anders als das lokale. Ich möchte die Tests auf der Jenkins Instanz starten und die Tests sollten gegen die laufenden Selenium server von der selenium chart ausgeliefert ausgeführt werden. Also ich möchte eine solche "Fernbedienung" Selenium server verwenden. Ich will nicht ein lokales Selenium server verwenden, die zur Laufzeit beginnt, aber eine immer noch vorhandenen Selenium server irgendwo in der Kubernetes Umgebung

Aber wie meine nightwatch.conf.js Konfiguration zu konfigurieren, dass Szenario zu realisieren?

Meine aktuelle Konfiguration sieht wie folgt aus:

const config = { 
    output_folder: "reports", 
    custom_commands_path: "commands", 
    // custom_assertions_path: 'assertions', 
    live_output: false, 
    page_objects_path: "pageobjects", 
    disable_colors: false, 
    selenium: { 
    start_process: true, 
    server_path: seleniumServer.path, 
    log_path: "", 
    host: "127.0.0.1", 
    port: 4444 
    }, 
    test_settings: { 
    default: { 
     globals: { 
     waitForConditionTimeout: 30000, 
     waitForConditionPollInterval: 500 
     }, 
     screenshots: { 
     enabled: true, 
     on_failure: true, 
     path: "screenshots" 
     }, 
     //launch_url: "http://localhost:8087", 
     //selenium_port: 4444, 
     //selenium_host: "127.0.0.1", 
     desiredCapabilities: { 
     browserName: "phantomjs", 
     javascriptEnabled: true, 
     acceptSslCerts: true, 
     "phantomjs.binary.path": phantomjs.path 
     } 
    }, 

Antwort

0

Erster Schritt, stellen Sie sicher, dass Ihr Remote-Selen-Server erreichbar ist (Host-IP-Überprüfung und Port) Zweitens Config folgende:

const config = { 
    output_folder: "reports", 
    custom_commands_path: "commands", 
    // custom_assertions_path: 'assertions', 
    live_output: false, 
    page_objects_path: "pageobjects", 
    disable_colors: false, 
    selenium: { 
    start_process: false, // turn this off and comment all below config 
// server_path: seleniumServer.path, 
// log_path: "", 
// host: "127.0.0.1", 
// port: 4444 
    }, 
    test_settings: { 
    default: { 
     globals: { 
     waitForConditionTimeout: 30000, 
     waitForConditionPollInterval: 500 
     }, 
     screenshots: { 
     enabled: true, 
     on_failure: true, 
     path: "screenshots" 
     }, 
     launch_url: "http://localhost:8087", 
     selenium_port: 4444, // provide your selenium port in 1st step 
     selenium_host: "127.0.0.1", // provide your selenium address in 1st step 
     desiredCapabilities: { 
     browserName: "phantomjs", 
     javascriptEnabled: true, 
     acceptSslCerts: true, 
     "phantomjs.binary.path": phantomjs.path 
     } 
    }, 
Verwandte Themen