selenium之数据驱动框架应用WPS个人中心自动签到

发布时间:2017-7-9 7:18:28编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"selenium之数据驱动框架应用WPS个人中心自动签到 ",主要涉及到selenium之数据驱动框架应用WPS个人中心自动签到 方面的内容,对于selenium之数据驱动框架应用WPS个人中心自动签到 感兴趣的同学可以参考一下。

selenium之数据驱动框架应用WPS个人中心自动签到

wps在注册后,有个每日签到的功能,签到后有几率送wps的专属金币【稻米】,为了免费获得,又不想每天都是人工去执行签到动作,所以用selenium写了个小脚本,准备用数据驱动框架来完成这个事情,数据驱动那就要有数据,这个数据就是元素定位文件,本脚本中我用wpsLoginInfo.properties文件

#wps 登入信息wps.platform.url=https://vip.wps.cn/wps.admin.userName=你的wps帐号wps.admin.password=你的wps密码#点击登入wps.HomePage.loginLink=css->#header > div > div.top_r > div.top_login > div.top_lg_link > a#选择登入方式wps.HomePage.loginWay=css->body > div.login > div.login_n > div.login_icon > div.icon_section > a.btn_icon_wps#帐号wps.HomePage.userName=css->#email#密码wps.HomePage.password=css->#password#选择不要自动登入wps.HomePage.chooseNotAutoLogin=css->#keepOnline#登入按钮wps.HomePage.loginButton=css->#login#等登入成功跳转界面用户名出来wps.HomePage.waitSuccessInfo=css->#header > div > div.top_r > div.top_login > div.top_lg_info > span.user_name > a#直接进入翻牌签到界面wps.HomePage.intoSignInWebUrl=https://vip.wps.cn/sign/iframe?day=0&daySignRewards=#选牌wps.HomePage.chooseBoard=css->#awardUL > li.award_li7 > div > div.cardback#直接进入个人中心wps.HomePage.intoCenter=https://vip.wps.cn/center/#等待个人中心加载完毕wps.HomePage.waitCenter=css->#loginbar > div > div.roulette > a

有了数据,那剩下的就是获取这些数据并定位元素了

package pageObjects;import initWebDriver.InitBaseInfo;import modules.Common;import org.openqa.selenium.support.PageFactory;import util.ObjectMap;/** * Created by xxy on 2015/10/22. */public class WPSLoginPage extends InitBaseInfo {    private String url;    private String userName;    private String passWord;    private ObjectMap login_property_url;    private Common common;    public WPSLoginPage() throws Exception {        common = new Common();        login_property_url = new ObjectMap(wpsoginPropertyUrl);        this.url = login_property_url.getLoginInfo("wps.platform.url");        this.userName = login_property_url.getLoginInfo("wps.admin.userName");        this.passWord = login_property_url.getLoginInfo("wps.admin.password");        PageFactory.initElements(driver, this);    }    public void openUrl() throws Exception {        driver.get(this.url);    }    public void clickLoginLink() throws Exception {        common.webElement(driver, login_property_url.getLocator("wps.HomePage.loginLink")).click();    }    public void ChooseLoginWay() throws Exception {        common.webElement(driver, login_property_url.getLocator("wps.HomePage.loginWay")).click();    }    public void inputUserName() throws Exception {        common.webElement(driver, login_property_url.getLocator("wps.HomePage.userName")).sendKeys(userName);    }    public void inputPassWord() throws Exception {        common.webElement(driver, login_property_url.getLocator("wps.HomePage.password")).sendKeys(passWord);    }    public void chooseNotAutoLogin() throws Exception {        common.webElement(driver, login_property_url.getLocator("wps.HomePage.chooseNotAutoLogin")).click();    }    public void clickLoginButton() throws Exception {        common.webElement(driver, login_property_url.getLocator("wps.HomePage.loginButton")).click();    }    public void signIn() throws Exception {        common.webElement(driver, login_property_url.getLocator("wps.HomePage.waitSuccessInfo"));        driver.get(login_property_url.getLoginInfo("wps.HomePage.intoSignInWebUrl"));        Thread.sleep(5000);        common.webElement(driver, login_property_url.getLocator("wps.HomePage.chooseBoard")).click();        driver.get(login_property_url.getLoginInfo("wps.HomePage.intoCenter"));        common.webElement(driver, login_property_url.getLocator("wps.HomePage.waitCenter"));    }}

每个元素定位的方法已经有了,那剩下的就是调用这些方法了

package testScripts;import org.testng.annotations.BeforeClass;import org.testng.annotations.Test;import pageObjects.WPSLoginPage;/** * Created by xxy on 2015/10/22. */public class WPSLoginTest {    private static WPSLoginPage page;    @BeforeClass    public void beforeClass() throws Exception {        page = new WPSLoginPage();        page.openUrl();    }    @Test    public void login() throws Exception {        page.clickLoginLink();        page.ChooseLoginWay();        page.inputUserName();        page.inputPassWord();        page.chooseNotAutoLogin();        page.clickLoginButton();        page.signIn();    }}

最后用maven启动项目即可,本文章中列举了重点的地方,还有其他地方代码我会放到网盘,有兴趣的可以看看,脚本使用目前自动化比较传统的数据驱动框架,框架结构我已经写好了,使用的testNG+maven项目结构,只要下载后打开项目即可成功执行,我是建议在写个bat脚本来执行这个脚本,好处是只要开机,使用鼠标双击bat文件,就可以自动签到,bat的脚本如下,脚本路径自己自定义

d:cd D:\java\ideaWorkStation\autoLoginSeleniumProjectmvn test

如果有问题可以给我留言

本数据驱动自动签到源码地址:http://pan.baidu.com/s/1nvTynFV


上一篇:Win10添加简体中文美式键盘的方法
下一篇:点击率模型AUC

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款