这是我通过google sso登录到应用程序后收到的确认警报弹出窗口。
我在此弹出窗口中单击“继续”按钮遇到了问题。我已经看到有关此类问题的一些讨论,但没有任何帮助。 这是我尝试过的-Detox: iOS Simulator how to confirm alert message,但是没有用。 另外,我在appium app中打开了一个应用程序,以查看那里的确切元素名称,尝试在测试中使用它,但没有成功。
这是我与元素互动的方式
it('should have welcome screen', async () => {
await expect(element(by.id('hostname-input'))).toBeVisible();
await element(by.id('hostname-input')).typeText('companyName');
await element(by.id('hostname-submit-button')).tap();
await element(by.id('googleAuthButton')).tap();
// XCUIElementTypeButton[@name="Continue"]
await waitFor(element(by.type('XCUIElementTypeButton')))
.toExist()
.withTimeout(10000);
await element(
by.name('Continue').and(by.type('XCUIElementTypeButton')),
).tap();
});
这是错误:
Element matcher: ((!(kindOfClass('RCTScrollView')) && ((kindOfClass('(null)') && isNotNil) && !(kindOfClass('UIAccessibilityTextFieldElement')))) || (((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(kindOfClass('RCTScrollView'))) && ((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(((kindOfClass('(null)') && isNotNil) && !(kindOfClass('UIAccessibilityTextFieldElement')))))))
关于如何解决的任何想法? 预先感谢。
答案 0 :(得分:0)
我写了一个辅助函数:
const alertsHelper = async (name) => {
await element(by.label(name).and(by.type('_UIAlertControllerActionView'))).tap();
};
export default alertsHelper;
像这样使用:
await alertsHelper('Continue');