安卓加java完成登录_从零学习安卓自动化(java+appium方向):完成登录操作+一个主流程(四)...

首先要分析软件步骤

从大的方面来说

第一步要登录成功,第二步主流程选择购买一个课程(我太穷了,所以支付的时候选择取消订单代表购买成功了)

一登录

1.1启动软件

采坑点:有的时候你安装一个新版appium会发现,双击之后没有启动,我的解决办法是从1.17版本换成1.15版本安装

和之前 说的启动方式相同,固定写法

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

//1.添加配置,创建DesiredCapabilities对象

DesiredCapabilities desiredCapabilities = newDesiredCapabilities();//指定测试设备的名称

desiredCapabilities.setCapability("deviceName", "JQYNW18C12004061");

desiredCapabilities.setCapability("platformName", "Android"); //添加操作系统配置

desiredCapabilities.setCapability("platformVersion", "9"); //添加操作系统版本设置

desiredCapabilities.setCapability("appPackage", "com.xueersi.parentsmeeting"); //指定想要测试应用的包名

desiredCapabilities.setCapability("appActivity", "com.xueersi.parentsmeeting.module.home.LaunchActivity"); //指定想要测试应用的入口activity

desiredCapabilities.setCapability("sessionOverride", true);//每次启动时覆盖session,否则第二次后运行会报错不能新建session

desiredCapabilities.setCapability("unicodeKeyboard", true); //设置键盘

desiredCapabilities.setCapability("resetKeyboard", true); //设置默认键盘为appium的键盘

AndroidDriver androidDriver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),desiredCapabilities);

Thread.sleep(5000);

启动软件

1.2点击登录按钮

1.3.点击其他号码登录

1.4点击密码登录

1.2.13.14都是相同的操作执行3遍

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

androidDriver.findElementById("com.xueersi.parentsmeeting:id/rl_splash_privacy_verify").click();

Thread.sleep(2000);

androidDriver.findElementById("com.xueersi.parentsmeeting:id/tv_splash_login").click();

Thread.sleep(2000);

androidDriver.findElementById("com.xueersi.parentsmeeting:id/tv_bt_other_way").click();

Thread.sleep(2000);

androidDriver.findElementById("com.xueersi.parentsmeeting:id/fast_login_to_password_login").click();

Thread.sleep(2000);

View Code

1.5、1.6输入账号密码、点击登录

好,上次的软件就是这里出的问题,无法输入内容。

这回APP就好使了

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

androidDriver.findElementById("com.xueersi.parentsmeeting:id/et_login_name").sendKeys("XXXXX");

androidDriver.findElementById("com.xueersi.parentsmeeting:id/et_login_type_pwd_number").sendKeys("XXXXX");

androidDriver.findElementById("com.xueersi.parentsmeeting:id/tv_login_btn").click();

View Code

吐槽一下。我想修改代码竟然在编辑页面中开不大折叠的代码框。还需要删除重新创建才好使。这是Bug啊

1.7 你登录成功之后会有一些权限系统设置,需要同意或者关闭

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

androidDriver.findElementById("com.xueersi.parentsmeeting:id/btn_permission_goto_settings").click();

Thread.sleep(2000);

androidDriver.switchTo().alert().accept();//选择确定关闭系统提示

View Code

第一步就算是完成了,相当于终于登录成功。进入到APP内部页面了。

我这一路走过来走了1个礼拜。我相信你们肯定比我走的要顺利

接下来执行主流程:购买一个课时

我设计的流程是

1.在主页点击搜索栏,进入搜索页面

androidDriver.findElementByXPath("//*[contains(@resource-id,'com.xueersi.parentsmeeting:id/ts_home_search_banner')]/android.widget.TextView").click();

2.在搜索页面,搜索:高中语文,显示查询结果列表

这里出现一个坑,我发现我输入内容之后无法点击确认进行筛选

通过网上查询发现可以使用模拟键盘

1. androidDriver.pressKeyCode(66); 来进行操作,---------------失败

2.说原因是appium自带的Unicode IME被自动设置成默认输入法了

所以

注释掉

// desiredCapabilities.setCapability("unicodeKeyboard", true); //设置键盘

// desiredCapabilities.setCapability("resetKeyboard", true); //设置默认键盘为appium的键盘

然后下载一个搜狗输入法,然后设置搜狗输入法为默认输入法

重新执行---------弹出输入框-----------成功

3.然后点击一个课程,进入课程详情

坑:这里发现所有的课程的id都是com.xueersi.parentsmeeting:id/btn_permission_goto_settings,我想选择第二个

ArrayList eleList = new ArrayList();

eleList = (ArrayList) androidDriver.findElementsById("com.xueersi.parentsmeeting:id/tv_course_card_name");

eleList.get(1).click();

4.点击加入购物车,弹出二次确认框

5.点击确认加入,成功加入购物车

6.点击购物车进入购物车页面

7.点击编辑

8.选择全部

9.点击删除

10.返回到主页

11.退出登录

这些基本上都是点点点,就不写代码了。和上面的大同小异,只是id不同而已

最后结果是执行成功。退出登录。3天之后学而思营销老师给我打电话了。证明跑通了o(╯□╰)o

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值