移动应用程序的自动化测试框架(BDD)

时间:2016-07-25 03:33:04

标签: c# .net xamarin xamarin.ios

什么是移动应用程序的自动化测试框架和BDD(行为驱动开发)?

如何为Xamarin.IOS移动应用程序开发自己的自动化框架?

3 个答案:

答案 0 :(得分:1)

用于在任何设备上测试您的应用 测试视图,功能和... 而不是在许多Android或IOS设备上安装您的应用程序并测试您的应用程序,为它创建一个aotomation 有许多框架,但我认为其中最好的是Appium 并且您可以使用类似this的内容来测试任何版本的andorid设备... 实际上appium工作,如机器人......

答案 1 :(得分:1)

无需创建自己的框架 - 使用UITest和SpecFlow为您完成了所有艰苦的工作。

自动化测试:

Xamarin已经拥有一个适用于iOS和Android应用程序的自动化框架,名为UITest。您使用C#和NUnit编写测试(但最多只支持2.6.4,NUnit 3尚不支持)作为测试框架,可以直接与您的应用程序交互,查询可视树,输入文本,点击按钮,读取值,检查哪些控件是可见的,甚至访问后门(用于文本目的的应用程序中的代码)或调用类上的方法(用于检查不在可视树中的值)。完成UI测试后,您可以在模拟器,物理设备上运行它们,或者如果您在测试云上感觉足够丰富 - 云中有数千个物理设备。

您可以在他们的开发者网站上阅读更多相关信息:

https://developer.xamarin.com/guides/testcloud/uitest/intro-to-uitest/

<强> BDD

使用UITest后,使用SpecFlow开始使用BDD非常容易。有一个Visual Studio扩展和一个Xamarin Studio加载项来启用它。基本上,您编写了BDD场景,并在幕后创建了NUnit测试。由于它是NUnit,您可以轻松使用UITest,以便您的方案自动化应用程序中发生的事情。

您可以在http://www.specflow.org

上阅读有关SpecFlow的更多信息

屏幕对象模式

为了让您的测试更容易编写,我强烈建议您阅读屏幕上的对象模式(Greg Shackles的好指南在这里:http://gregshackles.com/testing-xamarin-apps-screen-object-pattern/)。此模式允许您抽象出每个屏幕,因此如果UI更改,您只需要更新屏幕定义类。然后,您可以为引用屏幕类的每个屏幕编写包含BDD步骤的步骤类,并为您的方案使用这些步骤。

更多资源

如果您喜欢播客,我强烈推荐最近的Gone Mobile剧集(由前面提到的Greg Shackles主持!),他们讨论了这个问题:http://gonemobile.io/blog/e0035.mobile.testing.with.alexandra.marin/

来自Xamarin大学的Rob Gibbens也有一篇很棒的博客文章:http://arteksoftware.com/bdd-tests-with-xamarin-uitest-and-specflow/

我们在工作中愤怒地使用它 - 我们为每个拉取请求运行一小组UI测试,并在一系列设备上进行大量夜间运行。每个测试都使用屏幕对象模式编写为一组SpecFlow场景。我们在一系列物理设备上进行本地测试,因为我们需要连接到内部服务器,但有时会使用Test Cloud来研究仅在一个特定设备上发生的问题。

答案 2 :(得分:0)

自动化测试框架允许一些测试程序,以最大限度地减少重复任务。测试用例在具有不同数据集的屏幕上执行。 BDD是一种技术,在开发过程中已经生成并使用了样本数据集,以确保实现正确。