PYTHON: Как начать каждый тест с разными возможностями? - PullRequest
1 голос
/ 02 апреля 2020

Я пишу тесты для мобильного приложения, где первый экран - это экран входа в систему. У меня это есть, но в других тестах я хочу пропустить test_Login и go прямо к test_DoStuffOnHomeScreen

Какой будет наилучший подход? Я использую

def get_desired_caps(application):
    return dict(platformName='Android', deviceName="$DEVICE",
                application=PATH('../apps/' + app), appPackage='xxx',
                appActivity='xxx.MainActivity', newCommandTimeout=240, noReset='true', fullReset='false')

в качестве желаемых возможностей - когда я запускаю это без noReset и fullReset, он выводит меня на экран входа, что нормально. Но как насчет другого сценария ios? Мой стартовый скрипт сессии выглядит так:

class StartSession(unittest.TestCase):

def setUp(self):
    desired_caps = desired_capabilities.get_desired_capabilities('xxx.apk')
    self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    self.application = Application(self.driver)

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

, который затем используется в тестах:

class LoginPage(StartSession):

    def test_login_with_valid_credentials(self):

1 Ответ

0 голосов
/ 02 апреля 2020

Вот пример

public static AppiumDriver<MobileElement> driver;

public void setupDriver(boolean noReset) throws MalformedURLException {
        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability(MobileCapabilityType.DEVICE_NAME, "android device");
        caps.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);
        caps.setCapability(MobileCapabilityType.NO_RESET, noReset);
        caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 600);
        caps.setCapability("udid", "your device udid");
        caps.setCapability("appPackage", "your appPackage name");
        caps.setCapability("appActivity", "your appActivity name");
        driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:" + "your port number here" + "/wd/hub"), caps);
    }

Теперь, когда вы хотите сбросить свое приложение для проверки с экрана входа в систему, вы можете позвонить

setupDriver(false);

Если вы не хотите сбрасывать приложение, просто запустите

setupDriver(true);

Надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...