标签: ui-testing

是否可以使用浓缩咖啡拍摄屏幕截图并测试像素值?

我开始使用espresso并编写了一些简单的UI测试,用于点击按钮,输入文本并检查是否一切都在那里.现在我想截取屏幕截图并测试一些像素值,但我找不到办法做到这一点.有人有什么建议吗?甚至可以用浓缩咖啡吗?

android ui-testing android-espresso

7
推荐指数
1
解决办法
4273
查看次数

Android Espresso和Linkify

我正在为基于Espresso的Android应用编写一些测试.单击TextView内部的链接(使用Linkify类创建)后,我需要断言我看到了正确的屏幕.

我尝试在包含链接的TextView上单击,但链接将无法打开.

有没有一种正确的方法来使用Espresso进行测试(除了修改代码以便为链接使用单独的TextView)?

ui-testing linkify android-espresso

7
推荐指数
1
解决办法
2354
查看次数

Android Espresso ListView点击项目

我有ListView图片和文字.当我尝试点击项目时,我收到错误

android.support.test.espresso.AmbiguousViewMatcherException: 'with id: com.cifrasoft.telefm:id/cardsGridView' matches multiple views in the hierarchy.
Problem views are marked with '****MATCHES****' below.
Run Code Online (Sandbox Code Playgroud)

我使用以下代码:

onData(hasToString(startsWith("Item Text")))
            .inAdapterView(withId(R.id.cardsGridView))
            .perform(click());
Run Code Online (Sandbox Code Playgroud)

我可以点击ListView使用位置Adapter,没有匹配或startWith

android ui-testing android-listview android-espresso

7
推荐指数
1
解决办法
1万
查看次数

Xcode 7 UI测试目标语言环境和区域设置

我正在尝试设置我的UI测试目标的语言和区域,不幸的是它似乎不起作用.

我试过两种方式,首先:

  • 产品| 方案| 编辑方案
  • 运行| 选项
    • 应用语言:法语
    • 应用地区:法国
  • 测试| 参数
    • 使用Run操作的参数和环境变量:已选中

我试着用另一种方式:

  • 产品| 方案| 编辑方案
  • 测试| 参数
    • 使用Run操作的参数和环境变量:未选中
    • 发布时通过的论据:
      • -AppleLanguages (French)
      • -AppleLocale fr_FR

导致UI测试的每种方式仍然以英语发生.而且,当我按下录音按钮时,它会以法语运行...

所以,如果我做错了什么,我很乐意知道!

提前致谢!

xcode localization ui-testing ios xcode-ui-testing

7
推荐指数
1
解决办法
2234
查看次数

在运行适用于Android的Xamarin UI测试时,等待ClearAppData2的结果超时

我已经使用Xamarin UITest框架为我的Xamarin应用程序创建了自动Android和iOS UI测试.在本地运行测试时,它们工作正常,但在Bitrise CI上运行时,iOS测试运行正常,但Android UI测试仍然失败,出现以下异常:

StartFirstActivity_WaitForActivity_ExpectButtonToHaveText
SetUp : System.Exception : Timed out waiting for result of ClearAppData2
Stack trace:
  at Xamarin.UITest.Shared.Android.Commands.CommandAdbClearAppData.Execute (IProcessRunner processRunner, IAndroidSdkTools androidSdkTools) <0x38b3e90 + 0x0064b> in <filename unknown>:0 
  at Xamarin.UITest.Shared.Execution.Executor.Execute[TDep1,TDep2] (ICommand2 command) <0x32b6478 + 0x00092> in <filename unknown>:0 
  at Xamarin.UITest.Shared.Android.LocalAndroidAppLifeCycle.EnsureInstalled (Xamarin.UITest.Shared.Android.ApkFile appApkFile, Xamarin.UITest.Shared.Android.ApkFile testServerApkFile) <0x37418c8 + 0x0017a> in <filename unknown>:0 
  at Xamarin.UITest.Android.AndroidApp..ctor (IAndroidAppConfiguration appConfiguration) <0x31a15e8 + 0x0047a> in <filename unknown>:0 
  at Xamarin.UITest.Configuration.AndroidAppConfigurator.StartApp (AppDataMode appDataMode) <0x30b4298 + 0x00063> in <filename unknown>:0 
  at SightPlayer.Core.Test.AppInitializer.StartApp (Platform platform) <0x30b2448 + 0x000ef> …
Run Code Online (Sandbox Code Playgroud)

c# android ui-testing xamarin xamarin-test-cloud

7
推荐指数
1
解决办法
1887
查看次数

Xamarin.UITests - 在真实设备上测试 - iOS - 应用程序权限弹出窗口问题

我的iOS应用需要一些特权(GPS,推送通知).当应用程序第一次启动时,iOS会询问用户是否可以将这些权限授予应用程序.我写过一些UITests,想要在本地连接的iPhone上自动运行它们.

问题是我无法覆盖权限问题,我的测试失败了.我发现IDE(Xamarin Studio)部署的应用程序将要求权限,但是通过UITests部署的应用程序不会.所以我试过.AppBundle(path_to_app)但它说这只适用于部署到模拟器.

SetUp:System.Exception:此应用程序包无法在模拟器上运行.要解决此问题,请确保您的目标设备是模拟器.DTPlatformName是应用程序Info.plist中的'iphoneos',而不是'iphonesimulator'.

就像它试图将iPhone应用程序部署到模拟器一样.但Xamarin Studio中的Target设置为真实设备.我试着补充一下.DeviceIdentifier.与.InstalledApp它一起使用时启动(仍然要求权限).但是当我使用时DeviceIdentifier,AppBundle出现了与上面相同的错误.

我的测试在Test Cloud上运行良好.它们在模拟器上工作正常.当我手动部署到设备,启动应用程序并批准权限然后运行UI测试时,它们工作正常.

我无法实现的是让UITests覆盖真实设备上的权限问题.有人做过这个吗?

最后一件事是我找到的AppBundle方法文档"将强制在模拟器上运行" https://developer.xamarin.com/api/member/Xamarin.UITest.Configuration.iOSAppConfigurator.AppBundle/p/System.String/

所以我可能注定要完成任务,但也许有人知道解决方法?

iphone ui-testing xamarin.ios ios xamarin.uitest

7
推荐指数
1
解决办法
1892
查看次数

在 Espresso 测试中禁用自动更正功能

我编写了一个 Espresso 测试,将一些文本写入 TextView,执行操作,然后检查 TextView 中的文本是否仍然相同。

在其中一台测试设备(华为 P20、Android 8.1.0)上测试失败,因为输入的文本会自动更正(从1234 567812th 5678)。这没有通过我的测试。当我手动输入相同的数字时,文本不会自动更正。

这就是我在 Espresso 测试中输入文本的方式:

onView(withId(R.id.reference_value))
            .perform(scrollTo(), click())
            .check(matches(isDisplayed()))
            .perform(typeText("1234 5678"));
        closeSoftKeyboard();
Run Code Online (Sandbox Code Playgroud)

我知道我可以将输入文本更改为不会自动更正的内容。但我希望有一个解决方案,通常可以确保输入的文本不会被修改为其他内容。理想情况下,无需手动更改测试设备的配置。

你们中有人知道我该如何实现这一目标吗?

android ui-testing android-espresso swift-keyboard android-8.1-oreo

7
推荐指数
1
解决办法
646
查看次数

Espresso - 如何将 typeText 切换为英语或其他语言输入模式

我正在使用 Espresso 来实现我的应用程序的自动测试框架。但是在我设计的一些测试用例中,我发现我的测试总是失败,根本原因不在我的测试代码中的功能实现代码。根本原因是在android输入法模式下,有时是中文输入模式,而我的输入文本是英文,那么输入值就会失败。所以我想知道如何将当前的typeText输入法模式从中文切换到英文,或者如何在不手动配置的情况下确保输入法模式为英文?我相信这是一个重要的要求,因为当我们的应用程序支持多种语言时,我们需要此功能在测试期间自动切换到所需的语言。以下是我的代码,如果默认输入模式是英文就没有问题。

    onView(withId(R.id.entryWordInput))
        .perform(typeText(entryWord), closeSoftKeyboard());
    onView(withId(R.id.OkButton))
        .perform(click());
Run Code Online (Sandbox Code Playgroud)

提前致谢。

android ui-testing android-testing android-espresso

6
推荐指数
1
解决办法
1242
查看次数

Xcode UI测试"尝试启动失败"

我是UI测试的新手,我正在尝试将该功能集成到现有项目中.我正在尝试最基本的测试,只是看到框架在行动,但我遇到了一些困难.我已经为我的项目添加了一个新的UI Testing Bundle目标,并且能够运行我的基本测试.但是,当我尝试在我的测试中实际启动应用程序时,我总是会遇到"尝试启动失败"错误.它还说明了"当前流程参考的零令牌".

这是我正在测试的代码:

@implementation SKYPracticeUITesting

- (void)setUp {
    [super setUp];

    // Put setup code here. This method is called before the invocation of each test method in the class.

    // In UI tests it is usually best to stop immediately when a failure occurs.
    self.continueAfterFailure = NO;
    // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
    XCUIApplication *app = [[XCUIApplication alloc] init];

    // In UI …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c ui-testing ios xcode-ui-testing

6
推荐指数
0
解决办法
1406
查看次数

当所有测试一起运行时,Android Instrumented 测试会失败

我正在使用 espresso 运行 Android 仪器测试。

我要运行 70 多个测试,所有测试都通过我的应用程序的不同部分进行点击。

当我将每个测试作为单个测试运行时,它们都有效,并且我得到了绿色测试结果。

当我同时运行它们时(右键单击 androidTest 文件夹 -> 点击运行),其中一些会失败,说找不到视图。

在不同的运行中,不同的测试失败。我想这可能是事情进展得太快了。

你们对如何解决这个问题有什么建议吗?提前非常感谢!

testing android ui-testing android-espresso

6
推荐指数
1
解决办法
1690
查看次数