系统登录页面拉动验证滑块进行验证
2016-06-22 10:29
579 查看
有如下登录页面:
登录过程中输入账号密码后 需要拉动图中 滑块 后 才可登录成功:
如何使用webdriver 实现拉动滑块的功能?代码如下:
创建公共功能类并加入方法:
public class ActionUtil {
private static Actions act;
public static void setAction(WebDriver driver){
act = new Actions(driver);
}
public static void DRAG_ELEMENT(WebElement e,int xOffset,int yOffset){
Action dragAllTheWayUp = act.moveToElement(e).clickAndHold().moveByOffset(xOffset, yOffset).release().build();
dragAllTheWayUp.perform();
}
}在登录页面的pageobject类中加封装如下方法:
注入滑块页面对象
@FindBy(how = How.ID, using = "nc_1_n1z")
private WebElement Sliders;
操作滑块(其中X,Y轴坐标可查看页面代码 或 咨询开发得到)
public void dragSliders() {
if (Sliders.isEnabled()) {
ActionUtil.DRAG_ELEMENT(Sliders, 258, 0);
}
}
在登录方法中输入账号密码后调用此方法:
public void login(String name, String pwd) {
loginName.sendKeys(name);
password.sendKeys(pwd);
dragSliders();
loginButton.submit();
}
至此 运行登录用例 可正常登录成功。
登录过程中输入账号密码后 需要拉动图中 滑块 后 才可登录成功:
如何使用webdriver 实现拉动滑块的功能?代码如下:
创建公共功能类并加入方法:
public class ActionUtil {
private static Actions act;
public static void setAction(WebDriver driver){
act = new Actions(driver);
}
public static void DRAG_ELEMENT(WebElement e,int xOffset,int yOffset){
Action dragAllTheWayUp = act.moveToElement(e).clickAndHold().moveByOffset(xOffset, yOffset).release().build();
dragAllTheWayUp.perform();
}
}在登录页面的pageobject类中加封装如下方法:
注入滑块页面对象
@FindBy(how = How.ID, using = "nc_1_n1z")
private WebElement Sliders;
操作滑块(其中X,Y轴坐标可查看页面代码 或 咨询开发得到)
public void dragSliders() {
if (Sliders.isEnabled()) {
ActionUtil.DRAG_ELEMENT(Sliders, 258, 0);
}
}
在登录方法中输入账号密码后调用此方法:
public void login(String name, String pwd) {
loginName.sendKeys(name);
password.sendKeys(pwd);
dragSliders();
loginButton.submit();
}
至此 运行登录用例 可正常登录成功。
相关文章推荐
- Ruby下WebDriver的相关操作指南
- WebDriver中实现对特定的Web区域截图方法
- Watir-webdriver处理模态窗口问题
- Watir-webdriver处理table
- Selenium关于下拉列表的定位方法总结
- selenium webdriver 学习总结-元素定位
- 用C#.NET 与Webdriver写的抓取网页信息的小工具
- Selenium's Find.getText vs execScript vs Phantom
- python2.7+webdriver+eclipse环境搭建
- 【WebDriver】启动chrome浏览器提示:您使用的是不受支持的命令行标记:--extensions-on-chrome-urls
- 【WebDriver】启动chrome浏览器并全屏
- selenium学习笔记(1)--webdriver中时间控件的使用
- Selenium WebDriver入门——API 常用部分(适用于IE浏览器)
- webdriver笔记__入门篇
- windows下selenium+python+eclipse环境搭建
- selenium-webdriver 使用WebDriverWait显示等待ajax交互
- selenium webdriver 元素定位方法
- selenium webdriver对iframe的处理
- Selenium WebDriver如何处理单选框和多选框
- WebDriver实现