如何将AndroidViewClient与eclipse集成以及如何开发测试

时间:2014-04-30 19:53:20

标签: android eclipse automation androidviewclient

请帮我设置一下eclipse的AndroidViewclient,请给我举例说明如何编写与任何基本应用程序交互的测试。

对不起,如果我问基本问题,但我没有看到任何明确的分步程序。

提前致谢!!

此致 ASP

2 个答案:

答案 0 :(得分:0)

1)您需要在PC和PC上安装Python。将PyDev设置为Eclipse。为此,您可以在Google上找到几个教程。例如 this.

2)按照 here.

所述设置环境变量

3)AndroidViewClient zip文件附带了许多可以运行的示例&编辑。

如果您有任何具体问题/问题,欢迎您提出问题。

答案 1 :(得分:0)

如果按here所述通过easy_install安装 AndroidViewClient ,一切都将正确设置,并且在PyDev中(如前所述)你可以

from com.dtmilano.android.viewclient import ViewClient

或任何需要的东西。

如果您正在编写单元测试,则应该考虑的唯一一个小细节是删除添加到命令行的PyDev测试运行器参数,例如,这些参数将在setUpClass中删除:

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

'''
Copyright (C) 2013  Diego Torres Milano
Created on 2014-04-24 by Culebra v5.4.4

                      __    __    __    __
                     /  \  /  \  /  \  /  \ 
____________________/  __\/  __\/  __\/  __\_____________________________
___________________/  /__/  /__/  /__/  /________________________________
                   | / \   / \   / \   / \   \___
                   |/   \_/   \_/   \_/   \    o \ 
                                           \_____/--<
@author: Diego Torres Milano
@author: Jennifer E. Swofford (ascii art snake)
'''


import re
import sys
import os

import unittest

from com.dtmilano.android.viewclient import ViewClient


class CulebraTests(unittest.TestCase):

    kwargs1 = None
    kwargs2 = None

    @classmethod
    def setUpClass(cls):
        # Eclipse Pydev adds 4 parameters to command line:
        if len(sys.argv) >=4:
            sys.argv = sys.argv[3:]
        cls.kwargs1 = {'verbose': True, 'ignoresecuredevice': False}
        cls.kwargs2 = {'startviewserver': False, 'forceviewserveruse': False, 'autodump': False, 'ignoreuiautomatorkilled': True}

    def setUp(self):
        self.device, self.serialno = ViewClient.connectToDeviceOrExit(**CulebraTests.kwargs1)
        self.vc = ViewClient(self.device, self.serialno, **CulebraTests.kwargs2)

    def tearDown(self):
        pass

    def preconditions(self):
        return True

    def testSomething(self):
        if not self.preconditions():
            self.fail('Preconditions failed')
        self.vc.dump('-1')
        pass


    @staticmethod
    def main():
        unittest.main()


if __name__ == '__main__':
    CulebraTests.main()