今天总结一下我自建的自动化测试和数据展示平台的工作

举报
蒋明明哥 发表于 2019/01/23 14:56:51 2019/01/23
【摘要】 今天总结一下我自建的自动化测试和数据展示平台的工作测试首先需要打包.打包和测试是一个比较繁琐的任务.之前我们持续集成中这些代码都是人工打包的.现在做成代码进行持续集成.持续集成能大大提高程序开发的速度.在bug发现和处理方面解决人力支出的部分.推动公司开发的速度.现在一个程序员薪水就是几万. 本次代码替代了ios程序员和安卓程序员 测试工程师.手工测试的部分.实乃杀价越活的必备良器.这段代码...

今天总结一下我自建的自动化测试和数据展示平台的工作

测试首先需要打包.打包和测试是一个比较繁琐的任务.之前我们持续集成中这些代码都是人工打包的.现在做成代码进行持续集成.持续集成能大大提高程序开发的速度.在bug发现和处理方面解决人力支出的部分.推动公司开发的速度.现在一个程序员薪水就是几万. 本次代码替代了ios程序员和安卓程序员 测试工程师.手工测试的部分.实乃杀价越活的必备良器.
这段代码是windows下的打包程序
用批处理语言写的

set /a TODAY=%date:~0,4%%date:~5,2%%date:~8,2% 

set _TIME=%time:~0,8% 

set CURRENTTIME=%_time::=% 

set CURRENTTIME=%CURRENTTIME: =0% 

set MYDIR=%TODAY%_%CURRENTTIME% 

echo %MYDIR%

d:

cd /laicunba_android_studio

rd /q/s D:\laicunba_android_studio\app\build\outputs\apk

copy /y d:\bijiao1.txt d:\bijiao2.txt

svn cleanup

svn update>d:\bijiao1.txt

sed -i 's/minifyEnabled true/minifyEnabled false/g' D:\laicunba_android_studio\app\build.gradle

#sed -i 's/minifyEnabled false/minifyEnabled true/g' D:\laicunba_android_studio\app\build.gradle

svn log -v -l1 d:\laicunba_android_studio| grep  " 1 " |cut -d "|" -f 1|sed s/[[:space:]]//g>version.txt

for /f "delims=" %%a in (version.txt) do (

set version=%%a

echo !version!

)

set MYDIR=%version%_%TODAY%_%CURRENTTIME%

set MYNAME="%version%_Laicunba_insider_%TODAY%_%CURRENTTIME%.apk"

fc /b d:\bijiao1.txt d:\bijiao2.txt &&echo 相同||gradle clean&&gradle assembleRelease&&mkdir E:\nginx\html\%MYDIR%&&cd D:\laicunba_android_studio\app\build\outputs\apk&&dir /b *_2*.apk > xsxxb.tmp&&for /f "eol=| delims=|" %%i in (xsxxb.tmp) do (set MYNAME=%version%_%%i&&copy "%%i" E:\nginx\html\%MYDIR%\%version%_%%i)

rem gradle :app:assembleLaicunba_insiderRelease&&cd D:\laicunba_android_studio\app\build\outputs\apk&&dir /b laicunba*.apk > xsxxb.tmp&&for /f "eol=| delims=|" %%i in (xsxxb.tmp) do (copy /y "%%i" E:\nginx\html\%version%_%%i&&copy /y "%%i" C:\Users\a\Downloads\r4650_laicunba_insider_20107_2.1.7.apk&&curl -F "file=@C:/Users/a/Downloads/r4650_laicunba_insider_20107_2.1.7.apk" -F "_api_key=c98d013b1a2cdf30410f7bbdbb2f6bfe" -F "uKey=123fe965b6f7a7a90cb2e88e5a2571a6" http://www.pgyer.com/apiv1/app/upload)

rem C:\Users\a\Downloads\r4650_laicunba_insider_20107_2.1.7.apk

rem copy /y D:\laicunba_android_studio\app\build\outputs\apk\app-laicunba_insider-release-unaligned.apk  E:\nginx\html\%MYNAME%

if errorlevel 1 exit

forfiles /p E:\nginx\html\ /m *.apk -d -60 /c "cmd /c del /f @path"


ios的自动化打包代码

cd /Users/mingjiang/Desktop/ComeSave1.22

rm ../ver2

mv ../ver1 ../ver2

svn update > ../ver1

diff ../ver1 ../ver2

if [ $? == 0 ]; then

   exit 0;

fi

xcodebuild -workspace ComeSave.xcworkspace -scheme ComeSave -configuration Release -sdk iphoneos10.0 clean

xcodebuild -workspace ComeSave.xcworkspace -scheme ComeSave -configuration Release -sdk iphoneos10.0 build

xcrun -sdk iphoneos packageapplication -v /Users/mingjiang/Library/Developer/Xcode/DerivedData/ComeSave-clogwjmbprnvakdnwldlrhlxvtfc/Build/Products/Release-iphoneos/ComeSave.app -o ~/test.ipa

xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/xxx.app -o build/Release-iphoneos/xxx.ipa

curl -F "file=@/Users/mingjiang/test.ipa" -F "_api_key=c98d013b1a2cdf30410f7bbdbb2f6bfe" -F "uKey=123fe965b6f7a7a90cb2e88e5a2571a6" http://www.pgyer.com/apiv1/app/upload

cp /Users/mingjiang/test.ipa /usr/local/var/www



打包完成后需要自动化测试
 

#!/usr/bin/python

# coding: UTF-8

#作者 蒋明

#作用 自动测试

#pip install pywinauto

#日期 2016-12-16

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

import win32gui

import win32con

import re,time,platform,sys, getopt

import io

import sys

import urllib.request

apptestname=""

appname="c:\\Users\\a\\Downloads\\r4650_laicunba_insider_20107_2.1.7.apk"

def load(filename):

 # win32gui

 #dialog = win32gui.FindWindow('#32770', u'文件上传')  # 对话框

 dialog = win32gui.FindWindow('#32770', u'打开')  # 对话框

 ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None) 

 ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)

 Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)  # 上面三句依次寻找对象,直到找到输入框Edit对象的句柄

 button = win32gui.FindWindowEx(dialog, 0, 'Button', None)  # 确定按钮Button

 win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, filename)  # 往输入框输入绝对地址

 win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button

 time.sleep(10)

def login():

 url="https://login.taobao.com/member/login.jhtml?redirectURL=https%3A%2F%2Flogin.taobao.com%2Fjump%3Ftarget%3Dhttp%253A%252F%252Fmqc.yunos.com%252FtestManager.htm"

 d.set_window_size(1024, 768)

 d.get(url)

 time.sleep(1)

 d.find_element_by_css_selector("#J_Quick2Static").click()

 d.find_element_by_css_selector("#TPL_username_1").send_keys("91111761@qq.com")

 d.find_element_by_css_selector("#TPL_password_1").send_keys("81110.")

 d.find_element_by_css_selector("#J_SubmitStatic").click()

 time.sleep(5)

def xingneng():

 url="http://mqc.yunos.com/performance.htm?spm=0.0.0.0.Eu5mDe"

 d.get(url)

 d.find_element_by_css_selector("#chooseApp > div:nth-child(2) > button:nth-child(4)").click()

 time.sleep(1)

 load(appname)

 d.find_element_by_css_selector("#Step-two-next").click()

 time.sleep(1)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。