How can开发者_如何转开发 I verify that an input element has any text in it. It is loaded with random text so I can't verify a specific value, but there must be some text in it. I'm using Selenium IDE
In Selenium IDE you can use the verifyEval
command and a bit of JavaScript to verify that a field is populated, or not.
Command: verifyEval
Target: this.page().findElement("//input[@id='email']").value != ''
Value: true
In this case, I'm testing that the <input type="email" id="email" value='address@domain.com">
is not an empty field on my HTML page.
When this command is run, the JavaScript code in the target is evaluated. Here it is testing the current value of the email field against an empty string. If they don't match (e.g. the field isn't empty) then it true
is returned. This return value is then compared to the expected Value
which is also true and so the test passes.
I just use
verifyNotValue|//input[@id='email']|
the 3rd param is empty
This should be a cinch if you use Selenium-RC with any programming language. However, given that you are using the IDE, I would recommend adding this user extension. This will give you some looping constructs. You can use storeText
and then take a decision based on the value of the variable in which the retrieved text is stored. The Stored Vars is another useful IDE firefox extension for analyzing the contents of the storeText
variable.
Try this:
driver.find_element_by_id("email").get_attribute("value") != ''
It was part of a sign up form assertion. The firstName field was provided with data. Then i used the following code to verify whether the field was filled up with data.
if(driver.findElement(By.cssSelector("#FirstName")).getText()==""){
System.out.println("field didn't fillup with data");
}
else {
System.out.println("field filled up with data");
}
精彩评论