请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

单线程,在test_case.py中只启动了appium但未执行case

dos_cmd.py脚本如下:
图片描述

test_case.py

coding=utf-8

import unittest
import sys
sys.path.append(‘E:\Appium’)
import HTMLTestRunner
import threading
import multiprocessing
from appium import webdriver
import time
from base.base_driver import BaseDriver
from bussiness.login_bussiness import LoginBussniess
from appium import webdriver
from util.read_init import ReadIni
from base.base_driver import BaseDriver
from util.server import Server
from util.dos_cmd import DosCmd

class CaseTest(unittest.TestCase):

@classmethod
def setUpClass(cls):

    cls.login_bussiness = LoginBussniess()

    print('this is class')

def setUp(self):
    print('this is setup\n')

def test_01(self):
    # self.login_bussiness.click_forget_password_1()
   # print "test case 01"
   self.login_bussiness.go_login()
   self.login_bussiness.login_pass()
  
def test_02(self):

    print('this is case02')
    # self.login_bussiness.login_user_error()

def tearDown(self):
    print('this is teardown')

@classmethod
def tearDownClass(cls):
    print('this is teardownclass')

def appium_init():
dos = DosCmd()
dos.excute_cmd(‘appium -p 4723’)
# server=Server()
# server.start_server(‘appium -p 4723’)

if name == ‘main’:

appium_init()

# unittest.main()
suite = unittest.TestSuite()
# suite.addTest(CaseTest('test_02', parame=i))
suite.addTest(CaseTest('test_01'))

# suite.addTest(CaseTest('test_02'))

unittest.TextTestRunner().run(suite)
# html_file = "E:/Appium/report/report.html"
# fp = file(html_file, 'wb')
# HTMLTestRunner.HTMLTestRunner(fp).run(suite)

图片描述

启动appium后一直卡在这里,一直是运行状态,但是不执行case

在命令行中启动appium正常执行case

网上找了很多资料,没有找到原因,求老师解答~~

正在回答 回答被采纳积分+3

2回答

提问者 慕先生809202 2019-05-07 20:33:07

driver初始化在base_driver.py中 

//img1.sycdn.imooc.com//szimg/5cd17afc00014cdb11140639.jpg





把driver初始化放在 test_case.py中也不行

//img1.sycdn.imooc.com//szimg/5cd17c0a0001858d11030678.jpg


依旧是只启动了服务,未执行case

老师给看下~


在test_case中多次点击运行按钮,提示端口号被占用,但是可以正常执行case,很奇怪

https://img1.sycdn.imooc.com//szimg/5cd17fd700011cb013490608.jpg

求老师解答???

0 回复 有任何疑惑可以回复我~
  • 你先别用unittest去执行,先调通。你这个没有起来。提示的是端口已占用。你换一个
    回复 有任何疑惑可以回复我~ 2019-05-07 22:31:44
  • 提问者 慕先生809202 回复 Mushishi #2
    换了端口号也不行,直接去执行dos_cmd.py脚本运行结果和上图一样
    回复 有任何疑惑可以回复我~ 2019-05-08 14:47:31
Mushishi 2019-05-06 21:14:19

你driver初始化在哪里

0 回复 有任何疑惑可以回复我~
  • 提问者 慕先生809202 #1
    driver初始化要写进setupclass()中吗?
    回复 有任何疑惑可以回复我~ 2019-05-06 21:19:22
  • 提问者 慕先生809202 #2
    driver初始化在base_driver.py中
    # coding=utf-8
    from appium import webdriver
    import time
    
    
    class BaseDriver:
    
        @property
        def android_driver(self):
    
    
            capabilities = {
                "platformName": "Android",
                # "automationName":"UiAutomator2",
                "deviceName":  "158ebe2e",
                "app": "E:\\apk\\imooc7.1.110102001android.apk",
                "appActivity": "com.imooc.component.imoocmain.splash.MCSplashActivity",
                "noReset": "true",
                "appPackage": "cn.com.open.mooc",
                "platformVersion": "5.1.1"
            }
    
            driver = webdriver.Remote('http://127.0.0.1:4721/wd/hub',capabilities)
            time.sleep(10)
            return driver
    回复 有任何疑惑可以回复我~ 2019-05-07 20:32:11
  • Mushishi 回复 提问者 慕先生809202 #3
    对的,你需要把driver放入setup里面。然后去运行。现在可以了么
    回复 有任何疑惑可以回复我~ 2019-05-11 09:32:12
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信