【问题标题】:PYTHON: How to start each test with different capabilities?PYTHON:如何以不同的能力开始每个测试?
【发布时间】:2020-07-14 10:52:04
【问题描述】:

我正在为一个移动应用程序编写测试,其中第一个屏幕是登录屏幕。我确实已经涵盖了,但在其他测试中我想跳过 test_Login 并直接进入 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 的情况下运行它时,它会将我带到登录屏幕,这很好。但是其他情况呢?我的开始会话脚本是这样的

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):

【问题讨论】:

  • 创建一个接受参数“noReset”的方法,以便您可以根据需要传递参数。我已经在 J​​ava 中这样做了。如果您想查看 java 代码,我可以发布它

标签: python selenium testing appium


【解决方案1】:

这是示例

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);

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2022-09-30
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多