1. 程式人生 > >Python+Appium指令碼之APP登入指令碼

Python+Appium指令碼之APP登入指令碼

2017年12月12日 17:15:29 布耀布耀德 閱讀數:973 標籤: 單元測試pythonappiumapp 更多

個人分類: 隨記

#coding:utf-8
from appium import webdriver
import time
import unittest
import os
import HTMLTestRunner
from selenium.webdriver.support.ui import WebDriverWait


class LoginTest(unittest.TestCase):
    def setUp(self):
        desired_caps={}
        desired_caps['platformName'] = 'Android' #Android系統 or IOS系統
        desired_caps['deviceName']='D1CGAPE6C2902581' #真機或模組器名
        desired_caps['platformVersion'] = '7.1.1' #Android系統版本
        desired_caps['appPackage']='com.appPackage'  #APP包名
        desired_caps['appActivity']='com.appPackage.WelcomeActivity' #APP啟動Activity
        desired_caps['noReset']=True #每次開啟APP不開啟重置,否則每次都進入四個歡迎頁
        desired_caps['resetKeyboard'] = True #隱藏鍵盤
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) #啟動APP


    def test_login(self):
            driver = self.driver
            # 進入首頁後點擊我的按鈕
            time.sleep(5)
            driver.find_element_by_id('ActivityMainTabMe').click()
            time.sleep(2)
            # 跳轉到登入介面清空賬號輸入框並輸入使用者名稱
            driver.find_element_by_id('LoginUserED').clear() #APP有儲存使用者名稱功能
            driver.find_element_by_id('LoginUserED').set_value('18888888888')
            # 清空密碼輸入框並輸入密碼
            driver.find_element_by_id('LoginPwdED').clear()
            driver.find_element_by_id('LoginPwdED').set_value('123456')
            # 點選登入按鈕
            driver.find_element_by_id('LoginBtn').click()
            time.sleep(5)
            # 我的的APP登入成功後會返回到首頁,需要再次點選我的進入個人中心頁面
            driver.find_element_by_id('ActivityMainTabMe').click()
            # 獲取登入後的暱稱
            name = driver.find_element_by_id('MeNameTv').text
            # 新增斷言,若暱稱不正確,則列印錯誤資訊
            try:
                assert '黃大大' in name
                print('loginUser is right')
            except AssertionError as e:
                print('loginUser is Error')
            # 點選右上角設定,進入設定頁面
            driver.find_element_by_id('MeSetting').click()
            # 點選退出按鈕
            driver.find_element_by_id('SettingExitLoginBtn').click()
            # 彈出退出提示介面,點選確定
            driver.find_element_by_id('android:id/button1').click()


    def tearDown(self):
            self.driver.quit()


if __name__ == '__main__':
    #構造測試套件
    suite=unittest.TestSuite() 
    suite.addTest(LoginTest("test_login"))
    #按照一定格式獲取當前時間
    now=time.strftime("%Y-%m-%d %H_%M_%S")
    ##將當前時間加入到報告檔名稱中,定義測試報告存放路徑
    filename='F:\ ' +  now + 'result.html' 
    #定義測試報告
    fp=open(filename,'wb')
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='測試報告',description='用例執行情況:')  
    runner.run(suite)
    #關閉報告
    fp.close() 
  • 指令碼自動生成的報告

相關推薦

Python+Appium指令碼APP登入指令碼

2017年12月12日 17:15:29 布耀布耀德 閱讀數:973 標籤: 單元測試pythonappiumapp 更多 個人分類: 隨記 #coding:utf-8 from appium import webdriver import time import

我的第一個Python+Appium指令碼APP登入指令碼

#coding:utf-8 from appium import webdriver import time import unittest import os import HTMLTestRunner from selenium.webdriver.supp

BASH、PERL、PYTHON、TCL數字前端指令碼語言

最近由於工作的需要接觸了指令碼語言,現總結下來以供後面查詢,主要包括了基本的語法及函式與檔案的讀寫操作。本部落格內容來自或者部分來自以下網站Bash,Perl,Python3,Python3,Tcl。(特此宣告:由於Python不同版本之間語法具有差異,本部落格內容全部取自於Python3)

python呼叫MonkeyRunnerAPI編寫app錄製指令碼

Android SDK與Python環境配置完畢,呼叫MonkeyRunner的MonkeyRecorder與MonkeyRunner介面啟動指令碼錄製工具,指令碼我命名為app_Record.py,把編寫的指令碼放在Android SDK安裝目錄下面的\tools目錄下,

python+Selenium +pytesser3+PyMouse 自動化登入指令碼

最近有時間學了學python  寫了些自動化指令碼來提升工作效率(zhuang bi) 不過作為一名功能測試,學習python還是有一些困難的,踩了一些坑,東拼西湊終於寫好了一個能用來跑回歸的指令碼,還算蠻有成就感的~我主要用了pytesser3來實現對圖片驗證碼的識別功能;

Python+Appium學習啟動手機瀏覽器

ger shel welcom 同時 rom user 選擇 use list 一、啟動瀏覽器:pycharm中python腳本如下: from appium import webdriverdesired_caps ={‘platformName‘:‘Android‘,‘

shell指令碼nginx自動化指令碼

這個指令碼,可以滿足nginx開啟,停止和重啟的操作 #!/bin/bash . /etc/init.d/functions function usage() { echo $"usage:$0 {start|stop|restart}" exit 1 } function

shell指令碼rsync自動化指令碼

要求:寫一個指令碼可以直接用指令碼控制rsync服務的開啟,停止和重啟 #!/bin/bash . /etc/init.d/functions function usage() { echo $"usage:$0 {start|stop|restart}" exit 1 }

python--python3爬蟲模擬登入知乎

程式碼在python3環境下測試通過: from bs4 import BeautifulSoup import requests url = 'http://www.zhihu.com' login_url = url+'/login/email' captcha_

Python + Robotframework + Appium APP自動化測試小試牛刀(Android)

transform all 分享 直接 round letter 執行 image col Robotframework如何好?這裏先不說了~ Python更不用說了~ Appium前面的文章有介紹~ 今天直接來Python+Robotframework+Appium

Python + Robotframework + Appium APP自動化測試實踐(二)

廢話不多說,直接來實踐(二),本次基於Android手機Settings模組下的search功能進行的自動化測試,程式碼如下 :   1 *** Settings *** 2 Library AppiumLibrary 3 4 *** Variables

python資料清洗指令碼

#coding=utf-8 import numpy as np import pandas as pd na_list=['NO CLUE','N/A','0']#na包含的型別 data=pd.read_csv('311-service-requests.csv',na_values=na_li

Python + Robotframework + Appium APP小試牛刀(Android)

Robotframework如何好?這裡先不說了~ Python更不用說了~ Appium前面的文章有介紹~ 今天直接來Python+Robotframework+Appium 三者結合起來,對Andoid app小試牛刀下,後續再作更多介紹。 1.環境搭建(之前已經介紹過Python+Appium了

python+appium-desktop:安卓(android)7.0以上使用appium無法定位元素(無法refresh)且 無法執行指令碼

--解決方法:   啟動appium時配置中新增: "automationName":"uiautomator2" --擴充套件:     想支援安卓7.0及以上版本需要滿足一下3點:     1、使用appium-desktop 1.6.3以及以上版本     2、啟動appium的driver配置新增:"

python 如何通過指令碼讀取xml檔案節點

#!/usr/bin/env python # -*- coding: utf-8 -*- #coding=utf-8 #寫指令碼的時候習慣把自己常用的模組都import進來了 import sys import sre_compile import re import p

Appium+Python 自動化測試二:啟動APP(Android篇)

android版本 inf 環境 哪些 aapt code div port ons 前一篇寫了環境安裝,這篇記錄是記錄如何啟動APP以及啟動APP之前要做哪些事。 Appium 啟動APP至少需要5個參數,分別是‘platformName‘,‘platformVersio

appium+python 第一次寫自動化測試指令碼(一)

遇到的問題總結:  1.在python中執行第一個測試指令碼的時候出現上圖的報錯,ModuleNotFoundError: No module named 'appium'。    之所以會報這樣的error是因為沒有裝client 。    開啟cmd , 輸入

secureCRT自動登入指令碼python

由於每次登入都要輸入使用者名稱和密碼,還有個別裝置不能用SSH2,而我又不記得是哪幾臺??!! 寫個指令碼,做個按鈕,在Button Bar,New Button,在Action -> Function選Run Script,在Run Script選好指令碼路徑,自己

Python自動登入指令碼

一、環境 Python 2.7.x pip 8.1.1 注意:pip升級後下載依賴包會報certificate verifyfailed       解決辦法是加入--trusted-host pypi.python.org 例如:pip install --trusted

python學習--呼叫shell指令碼

python呼叫Shell指令碼,有很多種方法,下面給出了三個python中執行shell命令的方法 第一種方案:os.system os.system返回指令碼的退出狀態碼 現有一個shell指令碼