我有一个原生的移动应用程序,并通过使用Appium驱动程序(AppiumDriver driver)自动运行,该驱动程序工作正常,并通过应用程序的一个功能,例如解锁帐户,向用户发送电子邮件,需要用户确认。
所以我已经找到了如何获得电子邮件中的链接,以及如何从发送电子邮件中获得URL。(保存在字符串变量中,例如“href”)
所以当自动化运行时,我在“信息”窗口中的移动应用程序中,通知用户我们已发送电子邮件进行确认。现在我的问题是
> < li>
如何从本机移动应用程序(屏幕信息)切换并将URL放入浏览器,然后在浏览器中打开一个窗口,要求用户输入新密码并重复,然后按“确定”?之后,我应该再次回到移动应用程序。
切换后,我是否需要另一个驱动程序(如 Web 驱动程序(上面提到的 appium 驱动程序的附加驱动程序)来处理浏览器中的操作?
感谢任何支持
这是我的能力:
public AppiumDriver<MobileElement> driver;
.....
public DesiredCapabilities cap = new DesiredCapabilities();
.....
cap.setCapability("deviceName", helper.getConfiguration(configFileName, "androidDeviceName"));
cap.setCapability("platformName", helper.getConfiguration(configFileName, "androidPlatformName"));
cap.setCapability("PlatformVersion", helper.getConfiguration(configFileName, "androidPlatformVersion"));
cap.setCapability("automationName", "uiautomator2");
cap.setCapability("MobileCapabilityType.FULL_RESET", android_mct_fullReset);
cap.setCapability("MobileCapabilityType.NO_RESET", android_mct_noReset);
cap.setCapability("appium-version", helper.getConfiguration(configFileName, "appiumVersion"));
cap.setCapability("language", helper.deviceLanguage);
cap.setCapability("locale", helper.deviceLocale);
cap.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, "true");
cap.setCapability("app", app.getAbsolutePath());
....
driver = new AppiumDriver<MobileElement>(new URL("http://localhost:4723/wd/hub"), cap);
>
您可以使用 Activity 类启动另一个应用程序,使用 AndroidDriver.startActivity() 函数,如下所示:
Activity activity = new Activity("activity.package", "activity.name");
activity.setStopApp(false);
((AndroidDriver<MobileElement>) driver).startActivity(activity);
一种更简单的方法是通过SeeTest Appium扩展获取Launch命令,例如:
seetest.launch("activity.name", false, false);
我认为这将通过以下方式实现:
driver.startActivity(new Activity("com.example", "ActivityName"));
导入方式 :
import io.appium.java_client.android.Activity;
使用此方法您可以切换应用程序,您必须知道您拥有的APP_PACKAGE
和APP_ACTIVITY
,尝试此链接或此链接以了解此内容。
这是来自play store的APP_PACKAGE
和APP_ACTIVITY
google chrome浏览器
示例:
driver.startActivity(new Activity("com.android.chrome", "com.google.android.apps.chrome.Main"));
您不需要为<code>浏览器
Your native apps start here
...
Switch to browser
//example chrome
driver.startActivity(new Activity("com.android.chrome", "com.google.android.apps.chrome.Main"));
....
//back to last activity your native app
driver.startActivity(new Activity("yourAPP_PACKAGE", "yourAPP_ACTIVITY"));
我有两个应用程序需要通过深层链接进行通信:Flutter Web应用程序和iOS上的Flutter移动应用程序。 基本上,流程需要是我单击在移动浏览器上运行的Web应用程序中的一个按钮,然后应该触发移动应用程序启动。 我遵循了设置深度链接的指定说明,并有两个观察结果: 一切都在Android上完美运行。 如果我在任何其他iOS应用程序(日历,MS Teams等)中点击链接,它就可以正常工作。这使我
在ReactJS中,是否有一种方法可以确定网站是在移动端还是桌面端被浏览?因为,根据我想要呈现的设备不同。 谢谢
我想在Android上使用Appium来自动化下面的场景 首先在Chrome中打开一个网页。网页包含注册表单 填写表单,然后单击提交按钮 提交按钮通过uri打开我的本机应用程序(与我们通过点击链接市场打开Google Play的行为相同://...) 最后与应用程序交互 我可以为第1到3步实现自动化,但在第4步就失败了。 这对Appium有可能吗?有没有其他测试框架可以自动化这样的场景?
谁能帮我这个,如何启用铬浏览器使用jitsi满足Android和ios与jitsi满足api 我将disableDeepLinking:true和MOBILE_APP_PROMO:false设置为false,但不起作用。非常感谢。
问题内容: 当我有一个带有可滚动内容的网页时。使用css属性“ overflow:auto”或“ overflow:visible”,滚动条在桌面浏览器上可见,但是当我在移动浏览器上打开页面时,滚动条仅在尝试滚动时出现。有没有一种方法可以使滚动条在移动设备上始终可见?我尝试了一些JQuery库,但是都没有用。 html代码是微不足道的,我有一个带有IFrame的可滚动div: CSS: 问题答案: