Nilesh
Nilesh

Reputation: 357

How can I add URL's dynamically to Protractor tests?

I am trying to use protractor in conjunction with Jenkins. In my jenkins, I need to have URLs dynamically generated.

So while running protractor tests, for example:

describe('angularjs homepage', function() {
  it('should greet the named user', function() {
    // Load the AngularJS homepage.
    browser.get('http://www.angularjs.org');

    element(by.model('yourName')).sendKeys('testUser');

  });
});

In above example I want to pass a variable dynamically in place of "http://www.angularjs.org".

I could not find any variables that can be specified in the reference config as well.

Upvotes: 4

Views: 7638

Answers (4)

Neh18
Neh18

Reputation: 172

you must have conf.js or conf.ts file. So, You can set "baseUrl" as part of your conf file under config

// conf.js
exports.config = {
  framework: 'jasmine',
  specs: ['spec.js'],
  baseUrl: 'my-site.com'
}

then call this browser in your test like:

browser.get(browser.baseUrl);

I faced same issue and resolved like this.

Upvotes: 0

user1161657
user1161657

Reputation: 991

It looks like calling browser.baseUrl = "https://test-url.com" does the trick in onPrepare

Upvotes: 0

Sebastian
Sebastian

Reputation: 2944

You can use baseUrl as config parameter inside exports.config and then use browser.get('/path') inside your test spec. So in config you have e.g. baseUrl: 'http://localhost', so browser.get('/path') would call http://localhost/path.

Upvotes: 8

user3517049
user3517049

Reputation: 846

If I understand the question correctly, you are looking for the environmental variable to configure the base url. In that case, since Protractor is built on WebDriver you should be able to set

webdriver.base.url="http://someurl"

Hopefully this is what you are looking for.

Upvotes: 4

Related Questions