Selenium (Java) and trouble getting Select element
up vote
1
down vote
favorite
I'm having trouble getting and using a Select element using @FindBy.
The markkup:
<td>
<felt [control]="kontactTypeFC" [classes]="'hb-distNone'">
<label for="contactTypes" class="hb-label">Kontakttype</label>
<select formControlName="contactType" class="hb-inputfield" id="contactTypes" [attr.disabled]="erSakenLukket(sak)">
<option *ngFor="let option of contactTypeOptions" [ngValue]="option.type" [disabled]="option.disabled"> {{option.text }} </option>
</select>
</felt>
</td>
The following selenium code works fine
return new Select(this.element.findElement(By.id("contactTypes")));
However, this does not:
@FindBy(id = "contactTypes")
public Select contactTypes;
return contactTypes;
This returns null, creating an NPE.
I'm using the exact same method for getting other elements on the page. Only difference is that the other elements are WebElement, not Select.
NB: I am of course initializing the page object:
PageFactory.initElements(driver, this);
java selenium select selenium-webdriver
add a comment |
up vote
1
down vote
favorite
I'm having trouble getting and using a Select element using @FindBy.
The markkup:
<td>
<felt [control]="kontactTypeFC" [classes]="'hb-distNone'">
<label for="contactTypes" class="hb-label">Kontakttype</label>
<select formControlName="contactType" class="hb-inputfield" id="contactTypes" [attr.disabled]="erSakenLukket(sak)">
<option *ngFor="let option of contactTypeOptions" [ngValue]="option.type" [disabled]="option.disabled"> {{option.text }} </option>
</select>
</felt>
</td>
The following selenium code works fine
return new Select(this.element.findElement(By.id("contactTypes")));
However, this does not:
@FindBy(id = "contactTypes")
public Select contactTypes;
return contactTypes;
This returns null, creating an NPE.
I'm using the exact same method for getting other elements on the page. Only difference is that the other elements are WebElement, not Select.
NB: I am of course initializing the page object:
PageFactory.initElements(driver, this);
java selenium select selenium-webdriver
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I'm having trouble getting and using a Select element using @FindBy.
The markkup:
<td>
<felt [control]="kontactTypeFC" [classes]="'hb-distNone'">
<label for="contactTypes" class="hb-label">Kontakttype</label>
<select formControlName="contactType" class="hb-inputfield" id="contactTypes" [attr.disabled]="erSakenLukket(sak)">
<option *ngFor="let option of contactTypeOptions" [ngValue]="option.type" [disabled]="option.disabled"> {{option.text }} </option>
</select>
</felt>
</td>
The following selenium code works fine
return new Select(this.element.findElement(By.id("contactTypes")));
However, this does not:
@FindBy(id = "contactTypes")
public Select contactTypes;
return contactTypes;
This returns null, creating an NPE.
I'm using the exact same method for getting other elements on the page. Only difference is that the other elements are WebElement, not Select.
NB: I am of course initializing the page object:
PageFactory.initElements(driver, this);
java selenium select selenium-webdriver
I'm having trouble getting and using a Select element using @FindBy.
The markkup:
<td>
<felt [control]="kontactTypeFC" [classes]="'hb-distNone'">
<label for="contactTypes" class="hb-label">Kontakttype</label>
<select formControlName="contactType" class="hb-inputfield" id="contactTypes" [attr.disabled]="erSakenLukket(sak)">
<option *ngFor="let option of contactTypeOptions" [ngValue]="option.type" [disabled]="option.disabled"> {{option.text }} </option>
</select>
</felt>
</td>
The following selenium code works fine
return new Select(this.element.findElement(By.id("contactTypes")));
However, this does not:
@FindBy(id = "contactTypes")
public Select contactTypes;
return contactTypes;
This returns null, creating an NPE.
I'm using the exact same method for getting other elements on the page. Only difference is that the other elements are WebElement, not Select.
NB: I am of course initializing the page object:
PageFactory.initElements(driver, this);
java selenium select selenium-webdriver
java selenium select selenium-webdriver
edited Nov 8 at 9:59
Guy
17.6k62149
17.6k62149
asked Nov 8 at 9:50
Hfrav
757
757
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
accepted
Select
is a class which receives WebElement
in the constructor, you can't use page factory to initialize it. Locate the WebElement
with @FindBy
and use it with the Select
@FindBy(id = "contactTypes")
public WebElement contactTypes;
new Select(contactTypes);
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
Select
is a class which receives WebElement
in the constructor, you can't use page factory to initialize it. Locate the WebElement
with @FindBy
and use it with the Select
@FindBy(id = "contactTypes")
public WebElement contactTypes;
new Select(contactTypes);
add a comment |
up vote
2
down vote
accepted
Select
is a class which receives WebElement
in the constructor, you can't use page factory to initialize it. Locate the WebElement
with @FindBy
and use it with the Select
@FindBy(id = "contactTypes")
public WebElement contactTypes;
new Select(contactTypes);
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
Select
is a class which receives WebElement
in the constructor, you can't use page factory to initialize it. Locate the WebElement
with @FindBy
and use it with the Select
@FindBy(id = "contactTypes")
public WebElement contactTypes;
new Select(contactTypes);
Select
is a class which receives WebElement
in the constructor, you can't use page factory to initialize it. Locate the WebElement
with @FindBy
and use it with the Select
@FindBy(id = "contactTypes")
public WebElement contactTypes;
new Select(contactTypes);
answered Nov 8 at 9:58
Guy
17.6k62149
17.6k62149
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53205179%2fselenium-java-and-trouble-getting-select-element%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password