Selenium常用方法
在自动化测试领域,Selenium 是一个非常流行的工具,它允许开发者编写脚本来模拟用户与网页的交互。以下是一些Selenium常用的方法,这些方法对于网页自动化测试至关重要。 1. **文本框 (Text Box)** - `type(locator, value)`: 这个方法用于在指定的文本框内输入文本。例如,`selenium.type("salutationText", “abc”);` 将会在定位器为 "salutationText" 的文本框中输入文本 "abc"。 - `getValue(locator)`: 通过这个方法可以获取文本框内当前显示的文本,如 `selenium.getValue("xpath=//input[@name='addProfileLastName']");` 返回的是该文本框的值。 - `isEditable(locator)`: 判断文本框是否可以编辑,例如 `selenium.isEditable("xpath=//input[@name='addProfileLastName']");` 返回布尔值,表示该文本框是否允许输入。 2. **下拉框 (Drop Down List)** - `select(selectLocator, optionLocator)`: 用于在下拉框中选择特定的选项,如 `selenium.select("typeSelect", "label=Date");` 会选择 "Date" 这个标签的选项。 - `getSelectedLabel(selectLocator)`: 获取当前被选中的选项的标签,如 `selenium.getSelectedLabel("xpath=//SELECT[@name='addSatution']")` 返回选定的标签。 - `getSelectOptions(selectLocator)`: 返回下拉框中所有可用的选项,例如 `selenium.getSelectOptions("//div[@id='mysearch_tips']/select")` 返回一个字符串数组,包含所有选项。 3. **按钮和链接 (Button & Link)** - `click(locator)`: 这个方法用于模拟点击按钮或链接的行为,例如 `selenium.click("link=Administration");` 或 `selenium.click("xpath=//input[@checkfield='addIndicatorName' and @name='addBtn']");` 会触发指定的链接或按钮的点击事件。 4. **单选框和多选框 (Radio Box & Check Box)** - `check(locator)`: 用于勾选单选框或复选框,如 `selenium.check("otherPhoneFlag");` 会选中定位器为 "otherPhoneFlag" 的框。 - `uncheck(locator)`: 取消选中,如 `selenium.uncheck("otherPhoneFlag");` 将取消选中。 - `isChecked(locator)`: 检查某个单选框或复选框是否已被选中,如 `selenium.isChecked("otherPhoneFlag");` 返回布尔值。 5. **表格 (Table)** - `getTable(tableCellAddress)`: 获取表格中特定单元格的值,例如 `selenium.getTable("//div[@id='profiles-search']/div[2]/table.1.1");` 返回指定行和列的值。 6. **其他** - `getAttribute(attributeLocator)`: 获取HTML元素的特定属性值,例如 `selenium.getAttribute("xpath=//img[@name='picName']@style")` 将返回图片 "picName" 的样式属性。 - `getText(locator)`: 获取元素的文本内容,如 `selenium.getText("link=Contacts")` 返回链接 "Contacts" 的文本。 - `getTitle()`: 获取当前页面的标题,例如 `selenium.getTitle()` 返回页面的标题。 - `isElementPresent(locator)`: 判断页面上是否存在指定的元素,这在验证页面元素是否加载成功时很有用。 这些是Selenium中最常见的操作,它们为测试人员提供了丰富的功能来执行自动化测试,确保网页的功能正确无误。通过熟练掌握这些方法,可以构建出强大的自动化测试脚本,提高测试效率,减少手动测试的负担。