[Android自动化测试(二)] robot framework+appium项目创建

一:测试demo创建
1.创建Android项目

包名为“com.kongge.browsertest”,这个可以随便定义,本文以这个位置,测试的时候需要填入包名,如果修改成其他的,后面测试输入内容也需要相应修改。

2.布局文件activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
    <TextView
        android:id="@+id/tv_result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />

    <EditText
        android:id="@+id/edittext"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入"
        />

    <Button
        android:id="@+id/btn_click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="click"
        />

</LinearLayout>
2.代码MainActivity.java
package com.kongge.browsertest;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

    private TextView tv_result;
    private EditText edittext;
    private Button btn_click;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv_result = (TextView) findViewById(R.id.tv_result);
        edittext = (EditText) findViewById(R.id.edittext);
        btn_click = (Button) findViewById(R.id.btn_click);

        btn_click.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tv_result.setText(edittext.getText().toString());
            }
        });
    }
}
3.测试期望

文本框edittext 输入字符串StringTest,点击按钮,将结果展示到tv_result的文本里面,最后判断tv_result文本内容是否等于StringTest。

二:测试环境启动
1.启动ride

命令行输入“ride.py”回车启动。

2.创建项目

File->New Project,输入项目名称“TestProject”,Type选择“Directory”,Parent Directory自己选择一下目录。点击“OK”。

3.新建测试套件suite

鼠标右键点击工程名,会出现一个菜单,“New suite”、“New Directory”和“New Resource”等,“New suite”是创建测试套件;“New Directory”是创建一个目录,这个可以创建多个目录用于划分模块;“New Resource”是创建其他资源。这里点击“New suite”,输入名称“TestSuite”,右侧默认选择“File”和“TXT”,确定即可。
此时选择“TestSuite”,右侧会有三个标签栏,“Edit”是类似与编辑器,有各种操作或提示等;“Text Edit”是一个纯文本,是和“Edit”一起联动的。“Run”是运行测试套件的页面,可以看到一些相关的操作。

4.新建测试用例TestCase

右键点击TestSuite,选择“New Test Case”新建“TestCase”,选择“TestCase”,在右侧“Text Edit”里面输入以下内容。

*** Settings ***
Library           AppiumLibrary

*** Test Cases ***
TestCase
    Open Application    http://localhost:4723/wd/hub    platformName=Android    platformVersion=4.4.4    deviceName=xxxx    appPackage=com.kongge.browsertest    appActivity=com.kongge.browsertest.MainActivity
    Input Text    id=com.kongge.browsertest:id/edittext    TestResult
    Click Button    index=0
    ${tv_result}    Get Text    xpath=(//android.widget.TextView[@resource-id='com.kongge.browsertest:id/tv_result'])[1]
    Should Be True    '${tv_result}'=='TestResult'

需要注意的:
文本变化后要先保存。
将APP安装到设备上。
将platformVersion=4.4.4改成自己的Android系统版本。
deviceName=xxxx,这个使用命令“adb devices”可以查看连接的设备名称,替换即可。
appPackage和appActivity可根据自己的项目修改。
切换到“Edit”标签栏,会发现表格里面自动填充了相关数据。

5.启动appium

运行appium,点击右上角的开始按钮,日志出现“> info: Console LogLevel: debug”表示连接成功。

6.运行

打开ride,选择”TestCase”,右侧选择“Run”,点击“Start”,看到有计时的说明测试已开始,如果是绿色pass:1说明测试通过,红色表示测试失败,会自动生成html文档,在日志里面复制链接然后在浏览器里面打开查看即可。


Tips:
1.运行测试用例失败,提示“No application is open”,可能出现的情况:
<1>第一次运行就提示,可先在手机上面点开APP然后退出,再运行。
<2>第一次运行用例完成之后,立马点击第二次运行出现,这个要等本次测试结束之后才能启动第二次,每次测试完成之后,APP会自动切到后台。在appium日志里面也会打印出“> info: [debug] We shut down because no new commands came in”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值