我的第二个Python+Appium脚本之APP添加商品

Appium自动化测试示例
本文介绍了一个使用Python和Appium进行Android应用自动化测试的例子。包括登录流程、商品添加等操作,展示了如何模拟用户交互、处理UI元素及执行滑动等手势。
#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'
        desired_caps['deviceName'] = 'D1CGAPE6C2902581'
        desired_caps['platformVersion'] = '7.1.1'
        desired_caps['appPackage'] = 'appPackage'
        desired_caps['appActivity'] = 'appActivity'
        desired_caps['noReset'] = True
        desired_caps['resetKeyboard'] = True
        desired_caps['unicodeKeyboard'] = True
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)


    def test_login(self):
        driver = self.driver
        # 获得机器屏幕大小x,y
        def getSize():
            x = driver.get_window_size()['width']
            y = driver.get_window_size()['height']
            return (x, y)
        # 屏幕向上滑动
        def swipeUp(t):
            l = getSize()
            x1 = int(l[0] * 0.5)  # x坐标
            y1 = int(l[1] * 0.75)  # 起始y坐标
            y2 = int(l[1] * 0.25)  # 终点y坐标
            driver.swipe(x1, y1, x1, y2, t)
        # 跳转到登录界面清空账号输入框并输入用户名
        driver.find_element_by_id('et_account').clear()
        driver.find_element_by_id('et_account').set_value('18912345678')
        # 清空密码输入框并输入密码
        driver.find_element_by_id('et_password').clear()
        driver.find_element_by_id('et_password').set_value('123456')
        ac1 = driver.current_activity
        # 点击登录按钮
        driver.find_element_by_id('bt_login').click()
        time.sleep(5)
        # 点击商品管理模块
        driver.find_element_by_xpath("//*[@class='android.widget.RelativeLayout'][1]").click()
        #点击添加新商品按钮
        driver.find_element_by_id('tv_add_goods').click()
        #填写商品相关信息
        #添加商品图片
        driver.find_element_by_id('item_add').click()
        driver.find_element_by_id('checkmark').click()
        driver.find_element_by_id('commit').click()
        time.sleep(2)
        # 添加商品名称
        driver.find_element_by_id('et_add_new_goods_name').click()
        driver.find_element_by_id('et_add_new_goods_name').set_value('goods')
        time.sleep(2)
        #添加商品描述文字
        driver.find_element_by_id('tv_add_new_goods_desc').click()
        driver.find_element_by_id('et_good_desc').set_value('description')
        driver.hide_keyboard()
        #添加商品描述图片
        driver.find_element_by_id('tv_add_pic').click()
        driver.find_element_by_id('checkmark').click()
        driver.find_element_by_id('commit').click()
        driver.find_element_by_id('tv_complete').click()
        time.sleep(2)
        #选择商品分类
        driver.find_element_by_id('tv_add_new_goods_type').click()
        driver.find_element_by_id('item_tv_name').click()
        #输入商品型号
        driver.find_element_by_id('item_model').set_value('size')
        driver.hide_keyboard()
        time.sleep(2)
        driver.find_element_by_id('item_now').set_value('9.9')
        driver.hide_keyboard()
        time.sleep(2)
        swipeUp(1000) #库存输入框没有显示,上滑界面将库存显示出来
        driver.find_element_by_id('item_stock').click()
        driver.find_element_by_id('item_stock').set_value(u'10')
        #点击保存按钮
        driver.find_element_by_id('tv_wait_set').click()
        time.sleep(2)

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

if __name__ =='__main__':
    unittest.main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值