2017年8月14日-学习日报

一、appium的环境搭建:

# java环境配置链接:            https://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html
# 安卓sdk环境配置: https://jingyan.baidu.com/article/f71d603757965b1ab641d12a.html
# node.js环境配置安装: https://jingyan.baidu.com/article/b0b63dbfca599a4a483070a5.html
# python2.7安装配置教程: https://jingyan.baidu.com/article/7908e85c78c743af491ad261.html
# appium-python-client安装: pip install appium-python-client
# selenium安装: pip install selenium
# appium软件安装包下载地址: https://bitbucket.org/appium/appium.app/downloads/

 二、命令行启动appium:

 appium版本:1.4.16.1

1、启动appium客户端程序,确定appium server启动的路径:

2、获取到server的启动路径后,python实现appium server启动控制:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 命令行启动appium

import os
import time

# 获取当前时间,命名log文件
times = time.time()
time_str = time.strftime("%Y_%m_%d_%H%M%S")
log_file = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'log\%s.log' % time_str)
# 服务器地址
address = '127.0.0.1'
# 端口号
port = '4748'
# 待测试设备的平台的名称
platform_name = 'Android'
# 待测试设备的安卓版本号
platform_version = '21'
# 自动化框架的名称
automation_name = 'Appium'
# 生成log的等级
log_level = 'info'
# 异常退出,自动覆盖session
cover_session = '--session-override'
# appium 服务的启动文件路径
server = r'D:\Appium\node.exe D:\Appium\node_modules\appium\lib\server\main.js'
# 使用os模块运行appium服务器
os.system('%s -a %s -p %s --platform-name %s --platform-version %s --log-level %s -g %s --automation-name %s %s'
% (server, address, port, platform_name, platform_version, log_level, log_file, automation_name, cover_session))
 

3、命令行启动appium主要的参数配置:

标志

描述

-U--udid

连接物理设备的唯一设备标识符

-a--address

监听的 ip 地址

-p--port

监听的端口

-bp--bootstrap-port

(Android-only) 连接设备的端口号

--session-override

允许 session 被覆盖 (冲突的话)

--full-reset

(iOS) 删除整个模拟器目录。 (Android) 通过卸载应用(而不是清除数据)重置应用状态。在 Android 上,session 完成后也会删除应用。

--no-reset

session 之间不重置应用状态 (iOS: 不删除应用的 plist 文件; Android: 在创建一个新的 session 前不删除应用。)

-g--log

将日志输出到指定文件

--log-level

日志级别; 默认 (console[:file]): debug[:debug]

--log-timestamp

在终端输出里显示时间戳

--local-timezone

使用本地时间戳

--log-no-colors

不在终端输出中显示颜色

--app-activity

(Android-only) 打开应用时,启动的 Activity 的名字(比如, MainActivity)

--app-wait-package

(Android-only) 你想等待的 Activity 的包名。(比如, com.example.android.myApp)

--app-wait-activity

(Android-only) 你想等待的 Activity 名字(比如, SplashActivity)

--device-name

待使用的移动设备名字

--platform-name

移动平台的名称: iOS, Android, or FirefoxOS

--platform-version

移动平台的版本

--automation-name

自动化工具的名称: Appium or Selendroid

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

详细的命令行参数表,附上链接: http://www.cnblogs.com/xinleishare/p/4793538.html 

 

三、Desired Capabilities基本参数:

class MyTestCase(unittest.TestCase):
    def setUp(self):
        self.desired_caps = {
            'platformName': 'Android',
            'deviceName': '4da7960d',
            'platformVersion': '5.0',
            # 手机联系人界面
            'appPackage': 'com.android.contacts',
            'appActivity': '.activities.PeopleActivity',
            # 客户端未有新消息,自动断开连接
            "newCommandTimeout": '60',
            # 呼出中文编码的键盘
            "unicodeKeyboard": "True",
            # 隐藏键盘
            "resetKeyboard": "True",
            # appium使用的默认引擎
            "automationName": 'Appium'
        }
        self.driver = webdriver.Remote('http://127.0.0.1:4748/wd/hub', self.desired_caps)

四、appium的基本api:

 

posted @ 2017-08-14 12:58  还是原来那个我  阅读(119)  评论(0)    收藏  举报