Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Jan 31 2019 19:00
    tfaron commented #5133
  • Jan 31 2019 07:28
    cnishina closed #5135
  • Jan 31 2019 07:28
    cnishina commented #5135
  • Jan 30 2019 16:23
    ThabisoGithub closed #5136
  • Jan 30 2019 16:23
    ThabisoGithub edited #5136
  • Jan 30 2019 16:23
    ThabisoGithub edited #5136
  • Jan 30 2019 16:21
    ThabisoGithub opened #5136
  • Jan 30 2019 16:18
    IgorSasovets commented #4177
  • Jan 30 2019 15:05
    andrewchan-clover commented #4177
  • Jan 30 2019 13:43
    IgorSasovets commented #5135
  • Jan 30 2019 12:37
    EnzDev edited #5125
  • Jan 30 2019 11:47
    akshaymondal opened #5135
  • Jan 29 2019 14:33
    uinest commented #4822
  • Jan 28 2019 21:38
    cnishina commented #5132
  • Jan 28 2019 21:37
    cnishina commented #5134
  • Jan 28 2019 21:37
    cnishina closed #5134
  • Jan 28 2019 21:36

    cnishina on selenium4

    chore(release): bumpb version t… (compare)

  • Jan 28 2019 11:30
    think4ideas opened #5134
  • Jan 28 2019 11:01
    toniedzwiedz commented #2735
  • Jan 28 2019 09:42
    azorrozua commented #4786
Rahul sharma
Hi @luker2 , I have tried this to read and upload data file to AWS S3 bucket
I want to understand, is there a way where instead of downloading the full json or excel file from AWS bucket, we can fetch the key value to pass as test data from the AWS S3 bucket data file while executing the test case?
Gopi Krishna Sangepu
@Rahulsh76144034_twitter this might help https://www.npmjs.com/package/jasmine-data-provider
Rahul sharma
Thanks @krish0205, I check the link but there is no information available on how to fetch data from AWS S3 using jasmine-data-provider
@Rahulsh76144034_twitter it sounds like you're trying to store data for ALL test cases in E2Edata.json, but have each test access only the data it needs from the file. That's not possible, instead each test would have to download the entire file, then access the particular data for that test. I'd recommend having separate data files for each test.
Gopi Krishna Sangepu
It is not to read the data from aws. Once you fecth the JSON file from aws you can use this library to get the Key values from the file.
Rahul sharma
Ok @luker2 , I can use seperate data file for each test case... Still my doubts is to pass a value like sendkeys("abc"), Can I fetch the value "abc" which is present in AWS directly from the AWS S3 bucket data file with out downloading the data file?
ohhkk @krish0205, yes this can help after fetching JSON file. But do you know how to connect with AWS S3 json file directly without downloading the json file in framework folder structure.
Is it possible to make connection with the datafile present in AWS during test case execution?
Gopi Krishna Sangepu

import TestData from '$e2e/test-data/E2eTestdata.json';
import dataProvider = require('jasmine-data-provider');

describe('Name of the group', () => {

dataProvider(TestData, (data) => {
it('should behave...', () => {

you can download the .json file from aws to your repo and try something like above using the jasmine-data-provider
@Rahulsh76144034_twitter I'm not entirly sure of that
Rahul sharma
@krish0205 You are right... But I was just thinking how it could work without downloading the datafile instead to fetch data from AWS during the test case execution. Hope you understand my doubt. :)
Gopi Krishna Sangepu
I think you can make rest calls to get the object from aws, but I wouldn't go down that route. but i never tried
Rahul sharma
ok @krish0205 , Thank you.. may be someone else have tried this in the group and can share the knowledge. :)
I get what you're trying to do, but storing data (individual key/values) in s3 doesn't seem right (or at least makes me think of the increased cost by all the individual data reads by each test). Why not, for each e2e test, 1) download json file 2) read & store in memory 3) execute test steps, accessing the data you need, avoiding multiple calls to s3
Rahul sharma
Thanks @luker2 for the suggestion. I liked your point regarding the biiling cost. I will try with your suggested steps.
Rick van der Meij
Anyone have experience with NGRX/effects with delay/polling for protractor. Angular doesnt get stable
Hey guys could u please give me help for this issue
Sri Harsha
hi there, what is the best way to test vue.js applications also please let me know why it is the best tool.
After I try to run the script - this error shows up - - Failed: script timeout: result was not received in 40 seconds
Any solution?
Mayank Verma
Hello All, I need to verify the dynamic text "With 2 Bedrooms" here 2 is dynamic it can be 3 too, and it should not be "With Bedrooms 2"
Jonathan Johnson

I'm having an odd issue running protractor that only occurs in circleci. I was wondering if anyone had any pointers to resolve it.
The suite seems to die after browser is launched and before a test is run.
This is what I see when the browser is firefox:

[22:14:29] I/launcher - Running 1 instances of WebDriver
[22:14:29] I/direct - Using FirefoxDriver directly...
[22:14:52] E/launcher - Error while running testForAngular: JavaScriptError: Document was unloaded
[22:14:52] E/launcher - Error: Error while running testForAngular: JavaScriptError: Document was unloaded
    at executeAsyncScript_.then (/app/node_modules/protractor/built/browser.js:727:23)
    at ManagedPromise.invokeCallback_ (/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
    at TaskQueue.execute_ (/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
    at TaskQueue.executeNext_ (/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
    at asyncRun (/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
    at /app/node_modules/selenium-webdriver/lib/promise.js:668:7
    at processTicksAndRejections (internal/process/task_queues.js:86:5)
[22:14:52] E/launcher - Process exited with error code 199

The error is similar when using chrome instead.

I've not seen this issue locally
This is the error in chrome
[19:55:16] I/launcher - Running 1 instances of WebDriver
[19:55:16] I/direct - Using ChromeDriver directly...
[19:55:45] E/launcher - Error while running testForAngular: script timeout
  (Session info: headless chrome=78.0.3904.108)
  (Driver info: chromedriver=78.0.3904.70 (edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs/branch-heads/3904@{#800}),platform=Linux 4.10.0-35-generic x86_64)
[19:55:45] E/launcher - Error: Error while running testForAngular: script timeout
  (Session info: headless chrome=78.0.3904.108)
  (Driver info: chromedriver=78.0.3904.70 (edb9c9f3de0247fd912a77b7f6cae7447f6d3ad5-refs/branch-heads/3904@{#800}),platform=Linux 4.10.0-35-generic x86_64)
    at executeAsyncScript_.then (/app/node_modules/protractor/built/browser.js:727:23)
    at ManagedPromise.invokeCallback_ (/app/node_modules/selenium-webdriver/lib/promise.js:1376:14)
    at TaskQueue.execute_ (/app/node_modules/selenium-webdriver/lib/promise.js:3084:14)
    at TaskQueue.executeNext_ (/app/node_modules/selenium-webdriver/lib/promise.js:3067:27)
    at asyncRun (/app/node_modules/selenium-webdriver/lib/promise.js:2927:27)
    at /app/node_modules/selenium-webdriver/lib/promise.js:668:7
    at processTicksAndRejections (internal/process/task_queues.js:86:5)
[19:55:45] E/launcher - Process exited with error code 199
Jonathan Johnson
since this is before a test executes, this is likely to deal with the onPrepare statement? This is it:
onPrepare: () => {

    return browser.driver.wait(() => {
      return browser.driver.getCurrentUrl().then((url: String) => {
        return url == baseUrl;
    }, 10000);

Hi all, is there a possibility to chain the conditions on an element once you get it ? For example, instead of inserting two expect statements like this expect(getSomeElement().isPresent()).toBe(true); expect(getSomeElement().isDisplayed()).toBe(true);, I would like to use only one 'expect' statement if possible.
Rahul sharma
Hi all, Did anyone tried to integrate protractor automation framework with OWASP ZAP Node API to perform security testing. If yes could you please help me out, as i am struggling to find the steps to do that. Thanks in advance. Cheers
Hi all, I have two set of capability : one basic for simple tests, one for a load test (with count option to 4000). Is there a way to run tests with first capability before the second? Currently, both run in parrallel
Jonathan Johnson
I kinda figured out my issue earlier, but I still don't know why. Only on circleci, protractor fails to believe our login page is an angular app and crashes. I was able to resolve my issue by enabling ignoreSynchronization when loading and resetting the initial page.
If I pass a file containing specs via command line, will specs be ignored in my config? (wondering if I can reuse the same config or not for my special case.
Hi all, do you know if it possible to use custom element tag names with XPath like element(by.xpath('//customElement')) or it should be only native tags like div, span etc.. ?
can we automate hybrid or native mobile application using protractor ?
Rahul sharma
Hi all, I am working on protractor-cucumber-framework and I want to execute few features using proxy and few without proxy. Could someone please help me and let me know how can i do that. What are the changes i have to do in conf.js?
anyone here knows when will the next version of protractor be released? Is it going to be actively maintained in the future?
Rishabh Rawat
Hey guys, a small doubt, does protractor require jsHint internally?
is a jsHint file necessary?
becuase my IDE keeps throwing an error
Uday Musunuri
how can i read the params defined in protractor config js file

Hello, I'm having troubles to get working my testing environment in Gitlab CI.
I using a kubernetes runner to run a job with my E2E test.

I've working this with chrome, but I having issues with Firefox. And we are trying to use multicapabilities just to run both browser (Chrome, Firefox). So I'm trying to get running in pipepeline boths. But I even can run only firefox.

This is one of the errors that I'm having:

[19:41:46] D/launcher - Running with --troubleshoot
[19:41:46] D/launcher - Protractor version: 5.4.2
[19:41:46] D/launcher - Your base url for tests is URL
[19:41:46] D/plugins - Plugin "protractor-image-comparison" loaded.
[19:41:46] I/launcher - Running 1 instances of WebDriver
[19:41:46] D/local - Attempting to find the SeleniumServerJar in the default location used by webdriver-manager
[19:41:46] D/local - Attempting to find the gecko driver binary in the default location used by webdriver-manager
[19:41:46] I/local - Starting selenium standalone server...
[19:41:47] I/local - Selenium standalone server started at
[19:41:51] E/runner - Unable to start a WebDriver session.
[19:41:51] E/launcher - Error: WebDriverError: newSession
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'runner-zxqbkdf4-project-62-concurrent-0jd9zn', ip: '', os.name: 'Linux', os.arch: 'amd64', os.version: '4.14.138+', java.version: '1.8.0_232'
Driver info: driver.version: unknown
remote stacktrace: stack backtrace:
   0:           0x57af6d - backtrace::backtrace::trace::h59229d13f6a8837d
   1:           0x57b0c2 - backtrace::capture::Backtrace::new::h23089c033eded8f0
   2:           0x4472fc - webdriver::error::WebDriverError::new::h0b226f62ff19e120
   3:           0x455bb8 - geckodriver::marionette::MarionetteSession::response::hcd41032e9ef5a928
   4:           0x46ace4 - geckodriver::marionette::MarionetteConnection::send_command::hd7b113ec7d281909
   5:           0x426e5f - <webdriver::server::Dispatcher<T, U>>::run::h62323eaff3e71b8c
   6:           0x40935c - std::panicking::try::do_call::hb7e6ff6d130a72cf
   7:           0x5de23a - panic_unwind::__rust_maybe_catch_panic
                        at /checkout/src/libpanic_unwind/lib.rs:98
   8:           0x41c003 - <F as alloc::boxed::FnBox<A>>::call_box::hd6ceeda495c4fa0e
   9:           0x5d68d4 - alloc::boxed::{{impl}}::call_once<(),()>
                        at /checkout/src/liballoc/boxed.rs:650
                         - std::sys_common::thread::start_thread
                        at /checkout/src/libstd/sys_common/thread.rs:21
                         - std::sys::imp::thread::{{impl}}::new::thread_start
                        at /checkout/src/libstd/sys/unix/thread.rs:84
    at Object.checkLegacyResponse (/builds/automation/bender/node_modules/selenium-webdriver/lib/error.js:546:15)
    at parseHttpResponse (/builds/automation/bender/node_modules/selenium-webdriver/lib/http.js:509:13)
    at /builds/automation/bender/node_modules/selenium-webdriver/lib/http.js:441:30
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
[19:41:51] E/launcher - Process exited with error code 100

how can i read the params defined in protractor config js file

Could share how are you declaring protractor params?

Jonathan Johnson
@yenilmez_gitlab I know custom stuff works well with by.css. I'm unclear if it works for by.xpath
Edwin Rifa

I have this test in Protractor:
My po.ts file

  async enterPincode(pincode) {
    const enterbtn = element(by.id('joinCompetition'));
    const res = await browser.waitForAngular();
    return enterbtn.click();

  async welcomeModalOpen() {

    const previewModal = element(by.id('mat-dialog-1'));

    console.log('welcomeModalOpen Start Time: ', Date.now());
    try {
      const res = await previewModal.isPresent();
      return true;
    } catch (err) {
      return false;

My e2e-spec.ts file

it('Should open preview-modal if a valid pincode is entered in the welcome modal', async () => {

    const valiePin = '144458';

    await homePage.enterPincode(valiePin);
    await expect(homePage.welcomeModalOpen()).toBeTruthy();


My protractor.conf.js file

// @ts-check
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts

const { SpecReporter } = require("jasmine-spec-reporter");

 * @type { import("protractor").Config }
exports.config = {
  //allScriptsTimeout: 11000,
  specs: ["./src/**/*.e2e-spec.ts"],
  capabilities: {
    browserName: "chrome",
    chromeOptions: {}
  directConnect: true,
  baseUrl: "http://localhost:4200/",

  seleniumAddress: "http://localhost:4444/wd/hub/",
  framework: "jasmine2",
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000,
    print: function() {}
  onPrepare() {
      project: require("path").join(__dirname, "./tsconfig.json")
      new SpecReporter({
        spec: {
          displayStacktrace: true,
          displayErrorMessages: true,
          displayDuration: true,
          displayFailed: true,
          displaySuccessful: true,
          displayPending: true

I keep geeting a ScriptTimeoutError: script timeout

Can someone give my an ideer of what I´m doing wrong :-)

Did you try using expect(await homePage.welcomeModalOpen()).toBeTruthy();
instead of await expect(homePage.welcomeModalOpen()).toBeTruthy();

Hello there!
Someone knows which is the difference between run tests using:

directConnect: True/False


seleniumAddress: http://blabla.bla


Using no one, that's my case.

I guess I'm using a default case, but I'm not clear about what is the default one.
I was reading some forums, And the doubt come to me, because at the moment, I'm not using neither config (directConnect nor seleniumAddress)

I read that using directConnect only works with Firefox and Chrome, and it will run against the local browser installation. And the selenium server it's like a Selenium Grid, is that information correct?
Konstantin Bläsi
is it possible to tell chrome to not use client certificates that are installed on the machine running the tests? I want it to behave as if they didn't exist

It`s been a while since the last update for 6.0 version and looks like repo is dead now with lots of open PRs((
I use protractor on several projects and really interested in migrating to 6.0, but unable to do it due to several issues. Few months ago I already submitted PR to fix several issues. It successfully was merged, but still, the new version has not been published yet.
Do you need help with the maintenance of this project, and in general, will it be supported in the future?

Hi guys, is there any new news?