标签: ui-testing

谁写自动UI测试?开发人员或测试人员?

我们正处于一个大型项目的初始阶段,并且已经决定某种形式的自动化UI测试可能对我们有用,但还没有确切地说明它是如何工作的......

主要目标是自动执行应用程序的基本安装和运行,因此如果开发人员导致严重破坏(例如:app将无法安装,网络将无法连接,窗口将无法显示等)测试人员不必浪费时间(并且烦恼)安装和配置损坏的构建

第二个目标是在处理重复性任务时帮助测试人员.

我的问题是:谁应该创建这些类型的测试?我们团队中隐含的假设是测试人员会这样做,但我在网上读到的所有内容似乎总是暗示开发人员会创建它们,作为一种"扩展单元测试".

一些想法:

  • 开发人员似乎处于更好的位置,因为他们知道控件ID,类等,并且可以更好地了解应用程序的工作方式

  • 测试人员的优势在于不知道应用程序是如何工作的,因此可以生成可能更有用的测试

  • 我用IronRubyWhite编写了一些初始脚本.这非常有效,并且足够强大,可以完成任何事情,但是你需要能够编写代码来编写UI测试

  • 我们尝试过的所有自动化UI测试工具(TestComplete等)似乎都非常复杂和脆弱,虽然测试人员可以使用它们,但它们需要大约100倍的时间并且它们不断遇到"意外复杂性"由UI测试工具引起的.

  • 我们的测试人员无法编写代码,虽然他们非常聪明,但当我建议测试人员可能编写简单的ruby脚本时,我所得到的都是有趣的(尽管所说的脚本比读取和编写的脚本容易大约100倍.按钮和数据网格似乎是自动UI测试工具的标准).

我非常感谢在开发人员和测试人员团队中尝试过UI自动化的其他人的反馈.谁做了什么,并且做得好吗?提前致谢!

编辑:有问题的应用程序是一个C#WPF"富客户端"应用程序,它使用WCF连接到服务器

automated-tests ui-testing regression-testing

12
推荐指数
1
解决办法
4371
查看次数

无法让Robotium在Android Studio中运行

我很难让Robotium在基于gradle的Android Studio上工作,我找不到办法

这是我的build.gradle文件

buildscript {
    dependencies {
        repositories {
            mavenCentral()
            mavenLocal()
        }

        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
   /* maven {
        url "https://oss.sonatype.org/content/repositories/snapshots"
    }*/
}

sourceSets {
    testLocal {
        java.srcDir file('src/test/java')
        resources.srcDir file('src/test/resources')
    }
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 17
    }

    sourceSets {
        instrumentTest.setRoot('src/test')
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'

    // Dependencies for the `testLocal` task, make sure to list all your global dependencies here as well
    testLocalCompile 'junit:junit:4.11' …
Run Code Online (Sandbox Code Playgroud)

android ui-testing gradle robotium android-testing

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

Xcode 7:app测试和UI测试之间的鸿沟是不可架断的?

Xcode 7†有一种直接测试UI的新方法,包括新的测试目标"iOS UI Testing Bundle"(或"OS X").

在此输入图像描述

在UI测试目标中,似乎没有对构成您的App的模型或类的内置访问.例如[UIApplication sharedApplication],您的UI测试无法调用.这意味着"应用程序测试"和"UI测试"存在于可能不可逾越的鸿沟中.

如前所述这里:

问题是Xcode的UI测试不允许访问实际的应用程序.

问题:

  1. 这个鸿沟可以弥合吗?如果是这样,详细说明如何使用构建和链接器设置以及可能xcodeproj在github上工作.
  2. 在Apple文档中,可以找到明确说明这种鸿沟的地方.

†在撰写本文时,测试版软件.

xcode automated-tests ui-testing xcode7 xcode-ui-testing

12
推荐指数
1
解决办法
957
查看次数

Android:Robotium v​​s android测试框架

每个人都使用Robotium进行GUI测试.

你能告诉我Robotium可以做什么Android原生测试框架吗?据我所知,Robotium可以用作黑盒测试,所以我不需要了解应用程序资源.还有什么?

android ui-testing robotium

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

与桌面屏幕分辨率交互的Windows服务

我将Jenkins配置为Selenium Grid,将一些Jenkins节点配置为Selenium Nodes(由Jenkins Selenium插件控制).

  • 节点使用选项"让Jenkins控制此Windows从属服务器作为Windows服务"连接.
  • 该服务在节点处自动定义为"与桌面交互".
  • Jenkins slave启用Selenium远程驱动程序服务
  • 问题是UI测试的分辨率非常低(1036 x 780),我们需要(1600x1200).

    由于Jenkins启动了服务,因此打开RDP会话无济于事.

    如何更改可与桌面交互的Windows服务的默认分辨率?

    registry selenium windows-services ui-testing jenkins

    11
    推荐指数
    1
    解决办法
    3575
    查看次数

    Mock API请求Xcode 7 Swift自动UI测试

    有没有办法在Swift 2.0中编写自动UI测试时模拟请求.据我所知,UI测试应该独立于其他功能.有没有办法模拟服务器请求的响应,以便测试依赖于响应的UI行为.例如,如果服务器已关闭,则UI测试仍应运行.快速示例,对于登录,如果密码失败则模拟,然后UI应显示警报,但是,如果登录成功,则应显示下一页.

    ui-testing ios swift xcode7 xcode-ui-testing

    11
    推荐指数
    1
    解决办法
    2500
    查看次数

    Selenium测试在移动设备上是否值得?

    我们一直在计划使用Selenium对我们的Web应用程序进行UI测试.我们现在有了第二个想法.据我所知,Android和iOS设备的网络驱动程序不使用用户将使用的实际浏览器.相反,他们使用WebView,它可能与实际浏览器类似,也可能不同.我已经看到了针对Android的各种报告,这些报告似乎表明WebView的行为与内置浏览器和Chrome不同,后者现在是某些设备的默认设置.

    您是否发现使用Selenium在实际硬件设备上进行测试是否值得?它比使用模拟器更准确还是更准确?您发现什么是使用自动化测试的最有效方法,让您觉得您的Web应用程序可以在您支持的所有硬件平台上正常运行?

    在我们的案例中,我们需要在PC,Mac,平板电脑和手机上支持最新版本的主流浏览器.Selenium在PC测试中运行良好,但我对平板电脑和手机测试很关注.我们正在考虑是否应该自己推广或使用类似uitest.js的东西,我们实际上可以在实际的设备浏览器上运行.

    selenium android ui-testing ios selenium-webdriver

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

    从基类的虚方法访问TestContext时,它为null

    我有一个基类ScriptBase,它有一个名为的虚函数MyTestInitialize().当我打电话MyTestInitialize()从派生类,则该值testContextInstancenull.这有什么解决方案吗?请帮忙,因为我是自动化测试的新手.提前致谢

    [CodedUITest]
    public class ScriptsBase
    {
        public ScriptsBase()
        {   
        }
    
        private static TestContext bingTestContext;
    
        public static TestContext BingTestContext
        {
            get { return ScriptsBase.bingTestContext; }
            set { ScriptsBase.bingTestContext = value;}
        }
    
        #region TestInitialize
        //Use TestInitialize to run code before running each test 
        [TestInitialize()]
        public virtual void MyTestInitialize()
        {
            Browser.CloseAllBrowsers();
            BingTestContext = testContextInstance;
        }
        #endregion
    
        #region TestCleanup
        //Use TestCleanup to run code after each test has run
        [TestCleanup()]
        public virtual void MyTestCleanup() …
    Run Code Online (Sandbox Code Playgroud)

    c# automated-tests mstest ui-testing

    10
    推荐指数
    2
    解决办法
    7248
    查看次数

    如何在Xcode 7上模拟UITest中的数据?

    有人试图在新的Xcode 7 UI测试中包含模拟数据吗?

    • 你使用过特定的框架吗?
    • 你是如何管理目标的?

    mocking ui-testing ios xcode7 xcode-ui-testing

    10
    推荐指数
    1
    解决办法
    1375
    查看次数

    在撰写 UI 测试中添加意图附加内容

    我想对使用Jetpack Compose 的Activity 进行 UI 测试。该文档提供了有关如何使用两种变体测试此类屏幕的一些信息:

     @get:Rule val composeTestRule = createComposeRule()
    
    Run Code Online (Sandbox Code Playgroud)

    如果我不需要活动本身运行并且只想测试我的可组合项或

     @get:Rule val composeTestRule = createAndroidComposeRule<MyActivity>()
    
    Run Code Online (Sandbox Code Playgroud)

    如果我确实需要这项活动。

    在第二种情况下,我如何将带有 Extras 的 Intent 传递给活动?

    我试过了:

    @Before
    fun setUp() {
        composeTestRule.activity.intent = Intent().apply {
            putExtra(
                "someKey",
                123
            )
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    但活动中的意图额外内容仍然为空。

    android ui-testing android-jetpack-compose

    10
    推荐指数
    1
    解决办法
    3437
    查看次数