ubuntu 18.04 配置自动化测试工具 appium + selenium+python3

作者 : admin 本文共5249个字,预计阅读时间需要14分钟 发布时间: 2024-06-9 共2人阅读

在Ubuntu 18.04 上 配置自动化测试工具,进行简单、重复的点击或滑动等操作,在此做一下笔记。

一、安装JDK

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
sudo apt-get install openjdk-8-jdk

================================================================================

二、安装Android SDK

【已经安装Android studio 可以跳过】

下载SDK

wget  http://dl.google.com/android/android-sdk_r24.2-linux.tgz
tar -xvzf android-sdk_r24.2-linux.tgz
sudo mv android-sdk-linux /usr/opt/android-sdk

===============================
配置环境变量 【配置环境变量可以自己写到一个文件里面】
sudo vim /etc/profile

export ANDROID_HOME=/usr/opt/android-sdk
export PATH=${ANDROID_HOME}/:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:$PATH
source /etc/profile

===============================

三、安装Node.js

http://nodejs.org/en/about/previous-releases 【通过这个下更快,还方便看对应的npm版本】

命令下载Node.js并解压

sudo wget http://nodejs.org/dist/node-v16.15.1/node-v16.15.1-linux-x64.tar.xz
tar -xvf node-v16.15.1-linux-x64.tar.xz

移动到 /opt 目录下(纯属于个人习惯), 并链接到/usr/local/bin/目录下

sudo mv node-v16.15.1-linux-x64 /opt 
sudo ln -s /opt/node-v16.15.1-linux-x64 /usr/local/bin/node-v16.15.1

最终检查Node.js 是否安装成功:

node -v
npm -v
 配置环境变量
export NODE_HOME=/usr/local/bin/node-v16.15.1
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules

================================================================================

四、安装Appium

[http://github.com/appium]
[http://github.com/appium/python-client]			   【先浏览一下这个东西,别冲动。注意版本哦】

1、下载appium-inspector 【辅助工具作用不大,可以多下载几个看哪个更合适】
http://github.com/appium/appium-inspector/releases
Appium-Inspector-linux-2022.1.2.AppImage 【chmod +777 】

2、下载Appium-Server-GUI-linux-xxx-AppImage 【appium图形工具,启动appium】
http://github.com/appium/appium-desktop/releases
Appium-linux-1.19.1.AppImage 【chmod +777 】
Appium-Server-GUI-linux-1.22.0.AppImage

3、下载appium 【它就是测试用的工具】 【 Appium-Python-Client-1.1.0 我现在用这个但不是很好用】

[http://pypi.org/project/Appium-Python-Client/2.10.2/#files]

tar -xvf Appium-Python-Client-X.X.tar.gz
cd Appium-Python-Client-X.X
python3 setup.py install							【这里可能会有网络问题,可以多次执行此命令,没问题的。】
									                                        【这个地方python3 和Python是不同的,只能用一个】

【appium 验证方式】

 python3
 from appium import webdriver		
Compatibility Matrix
Appium Python Client 	     Selenium binding 	            Python version
3.0.0+ 			                            4.12.0+ 		                               3.8+
2.10.0 - 2.11.1 	                    4.1.0 - 4.11.2 		                   3.7+
2.2.0 - 2.9.0 		                     4.1.0 - 4.9.0 		                       3.7+
2.0.0 - 2.1.4 		                     4.0.0 			                               3.7+
1.0.0 - 1.1.0 		                     3.x 			                                   3.7, 3.8
0.52 and below 		             3.x 			                                   2.7, 3.4 - 3.7

4、如果selenium 不合适,可以单独删除并下载单独的安装包

http://pypi.org/project/selenium/#history										【安装包  selenium】

=======================================================

 touch install.py   																							【这里是卸载和安装selenium,appium 也可以卸载】
import pip

#pip.main(['uninstall', 'Appium-Python-Client'])							【这个是测试删除Appium-Python-Client】
#pip.main(['uninstall', 'selenium'])
#pip.main(['install','selenium-4.6.1-py3-none-any.whl']) 			【安装对应的selenium版本】

=======================================================

5、安装appium-doctor检查下Appium的环境是否配置ok:

 npm install -g appium-doctor

终端输入:

 appium-doctor

================================================================================

五、配置环境变量

cd /etc/profile.d/

sudo  vim  my_install.sh

#jdk
#
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#Android sdk
#
export ANDROID_HOME=/home/mozun/Android/Sdk
export PATH=${ANDROID_HOME}/:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:$PATH

#node
#
export NODE_HOME=/usr/local/bin/node-v16.15.1
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules

================================================================================

检查

 appium-doctor

================================================================================

使用方式

前期工作:可以看看 Appium-Inspector 这个辅助工具怎么用的。

一、运行 appium

1、./Appium-Inspector-linux-2022.1.2.AppImage
2、./Appium-linux-1.19.1.AppImage 或 ./Appium-Server-GUI-linux-1.22.0.AppImage

二、运行你的python代码 【我的测试】

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

from selenium.webdriver.common.by import By
import time
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction 
import os,re


desired_caps={}
desired_caps['platformName']='Android'
desired_caps['platformVersion']='7.0'
desired_caps['deviceName']='0123456789ABCDEF'
desired_caps['appPackage']='com.android.circur'
desired_caps['appActivity']='.EmulatorGameListActivity'
desired_caps['automationName']='UiAutomator1'
desired_caps['noReset']='true'
desired_caps['newCommandTimeout']='6000'
#desired_caps['unicodeKeyboard']='True'

driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
driver.press_keycode(3)			#home
time.sleep(10)

for i in range (1,750): #420,840,1440
    action = TouchAction(driver)
    action.tap(x=300, y=170).perform() # 点击第一个游戏
    time.sleep(20)                    # 等待游戏打开/筛选出显示游戏无法打开的游戏/
    driver.press_keycode(4)		#back
    time.sleep(2)
    action.tap(x=650, y=270).perform() # 点击退出游戏
    time.sleep(3)                    # 等待退出游戏
    TouchAction(driver).press(x=300, y=220).wait(1000).move_to(x=300, y=160).release().perform()  # 向上滑动游戏
    time.sleep(2)
driver.quit()

================================================================================
/wd/hub 【这个是端口,一定要填写】

   "deviceName": "0123456789ABCDEF",
        "platformName": "Android",
        "platformVersion": "4.4.2",  # 4.4.2  
        "appPackage": "*.sportinspect", # 改成你测试APP的包名。
        "appActivity": "*.sportinspect.SplashScreenActivity", # 改成你测试APP的活动。
        "newCommandTimeout": 0,  # 设置超时时间, 默认为60s,设置为0关闭。超时时间到后,软件将退出
        "unicodeKeyboard": True,  # unicode编码输入  解决send_keys无法输入中文
        "resetKeyboard": True,  # 隐藏软键盘  解决send_keys无法输入中文
        "automationName": "UiAutomator1", # 安卓版本大于5这里改为"UiAutomator2"
        "noReset": True  # 设置不清除软件缓存,不写或者False则清除App缓存
本站无任何商业行为
个人在线分享-虚灵IT资料分享 » ubuntu 18.04 配置自动化测试工具 appium + selenium+python3
E-->