新社区网站

通常,你会在正确的地方,但我们最近推出了一个全新的社区网站……为社区,受社区。

耶……带我去社区!

社区博客是社区成员的个人观点,绝不是DNN公司或DNN平台的官方立场。这是一个表达个人对DNNPlatform、社区及其生态系统的想法的地方。你有什么有用的信息想要与DNN社区分享吗?如果有,请联系

社区博客的使用由我们的社区博客指南-请在评论或发布之前阅读。


开源UI自动化框架

11月 14

介绍

自动化测试已经成为主流,并且已经成为软件开发过程中必不可少的一部分。DNN公司也是如此。我们一直是自动化的早期采用者,并且利用它已经有一段时间了。我们很高兴地宣布我们的内部UI自动化测试框架的开源。让我们从了解自动化的基础知识开始。

自动化类型

纯粹主义者可能不同意,但通常以下是自动化测试的类型:

单元测试-这是最基本的测试类型,其中方法中的代码是单独测试的-因此有了“单元”这个词-一次测试一个组件。这要求该方法进行的外部调用是可mock的。不幸的是,DNN平台在编写时并没有考虑到这一点,因此没有多少可以进行单元测试,这就是为什么我们创建了另外两个框架——集成和UI自动化。然而,在DNN平台中仍然有几个类和方法是完全可单元测试的。在另一篇博客中有更多相关内容。

我们还想提一下,单元测试既可以在c#上执行,也可以在JavaScript代码上执行。我们的单元测试只针对c#,但我们希望在基于ReactJS的前端添加单元测试。

集成测试-这具有更大的测试范围,可以通过软件的各个层进行测试- web API,业务层,数据库层等。我们也会有专门的博客来讨论这个话题。

UI自动化测试-这是最广泛的自动化测试框架,其中UI交互(点击,填充文本框等)是自动测试的。Selenium框架被广泛用于此目的,这也是我们的框架所基于的。

引入f#

我们决定使用f# (FSharp) . net语言编写UI自动化测试框架,因为QA工程师编写测试非常容易。f#是一种函数式语言,不需要太多的结构。另外,f#是一种成熟的。net语言,允许访问整个。net框架。

习惯用c#编写代码的开发人员可能会发现理解f#很有挑战性,尽管它是一门很好的新语言。在不久的将来,我们将在单独的博客中就此发表文章。

树冠

我们正在使用树冠帮助构建更简单的测试。这是他们在他们的web canopy是一个web测试框架,其目标只有一个,简化UI测试;

  • 固体稳定层建立在硒之上。
  • 死于“脆弱、古怪的UI测试”。
  • 快速学习。
  • 即使你从来没有做过UI自动化,也不知道f#。
  • 干净、简洁的API。
  • 麻省理工学院的许可。

存储库

存储库方便地托管在DNN上Github

解决方案文件

打开FSharpFramework。Visual Studio (VS)中的sln。如果你还没有安装f#, VS可能会提示你安装f#。确保你以管理员权限打开VS,否则你可能会在运行时出现错误。

编译

没什么特别的,只要执行Build > Build Configuration即可。

警告

这绝对不能在生产站点上运行,因为它对站点进行了更改,应该只在测试站点上运行。

配置文件

该框架使用文件配置。Yaml作为配置。首先简单地更新SiteAlias指向您的本地站点。也可以指定SuperUser名和密码,否则已经指定了默认用户名和密码。

运行基本验证测试(BVT)

按F5运行。缺省情况下,配置文件为。yaml文件被配置为运行BVT。您当然可以进行更多的测试。我们将在以后的博客中对此进行讨论。BVT由大约25个测试组成,通常可以在30分钟内完成。

款版本

该框架与DNN的特定版本绑定在一起。在撰写本文时,它与即将发布的DNN 9.2.0捆绑在一起,您可以从我们的每夜构建

  • 发表:

评论

目前没有评论,请第一个发表评论。

评论形式

只有注册用户才能发表评论。

NewsArchives


Aderson Oliveira(22岁)
亚历克·惠廷顿(11岁)
亚历山德拉·戴维斯(3岁)
Alex Shirley(10岁)
安德鲁·霍夫林(3岁)
安德鲁·纳斯(30岁)
安迪·特里巴(1)
安东尼·格伦赖特(5岁)
安东尼奥·夏格里(28岁)
阿什·普拉萨德(37岁)
本·施密特(1)
本杰明·赫尔曼(25岁)
伯努瓦·萨顿(9岁)
贝丝·费尔堡(12岁)
比尔·沃克(36岁)
鲍勃·克鲁格(5岁)
波格丹·莱特斯库(1)
布莱恩·杜克斯(2岁)
白雪皑皑(1)
布鲁斯·查普曼(20岁)
布莱恩·安德鲁斯(1)
卡塔·康诺利(55岁)
查尔斯·纳斯(163)
克里斯·哈蒙德(第213届)
克里斯·帕特拉(55岁)
克林特·帕特森(108)
邝党(21岁)
丹尼尔·巴塞洛缪(2岁)
丹尼尔·梅特勒(181)
丹尼尔·瓦拉达斯(48岁)
戴夫·巴克纳(2岁)
大卫·波因德克斯特(12岁)
大卫·罗德里格斯(3岁)
萧耀文(1)
道格·豪厄尔(11岁)
Erik van Ballegoij(30岁)
恩斯特·彼得·塔明加(80岁)
弗朗西斯科·佩雷斯·安德烈斯(17岁)
杰夫·巴洛(12岁)
乔治·阿拉特拉什(12岁)
吉福德·沃特金斯(3)
吉尔·勒·皮戈彻(3)
伊恩·罗宾逊(7岁)
以色列·马丁内斯(17岁)
简·布洛姆奎斯特(2)
简·乔纳斯(3岁)
贾斯普雷特·巴蒂亚(1)
詹妮·梅里菲尔德(6岁)
乔·布林克曼(274)
约翰·米切尔(1)
乔恩·亨宁(14岁)
乔纳森·希利(4岁)
乔丹·库珀史密斯(1)
约瑟夫·克雷格(2岁)
马侃(1)
凯文贝吉(3岁)
凯利·福特(4岁)
肯·格里尔森(10岁)
凯文·施莱纳(6岁)
利·波因特(31岁)
洛林·杨(60岁)
Malik Khan (1)
马特·拉特利奇(2岁)
马蒂亚斯·施洛曼(16岁)
毛里西奥Márquez (5)
迈克尔·多克西(7岁)
迈克尔·托比什(3岁)
迈克尔·华盛顿(2002)
米格尔·加梅坦(3)
迈克·霍顿(19岁)
米歇尔·塞勒斯(40岁)
弥敦罗孚(3)
Navin V Nagiah(14岁)
n (31)
Nik Kalyani(14岁)
奥利弗·海因(1)
帕特里西奥·f·萨利纳斯(1)
帕特里克·瑞恩(1)
彼得·唐克(54岁)
菲利普·比德尔(135岁)
菲利普·贝克尔(4岁)
理查德·杜马斯(22岁)
罗伯特·J·柯林斯(5岁)
罗杰·塞尔温(8岁)
鲁本·洛佩兹(1)
莱恩·马丁内斯(1岁)
Sacha Trauwaen (1)
爱沙尼亚语(4)
Sanjay Mehrotra(9岁)
斯科特·麦卡洛克(1)
斯科特·施莱西尔(11岁)
斯科特·威尔金森(3岁)
斯科特·威尔海特(97岁)
塞巴斯蒂安·洛波德(80岁)
肖恩·沃克(237)
肖恩·梅哈菲(17岁)
斯蒂芬·卡尔曼(12岁)
Stefan Kamphuis(12岁)
史蒂夫·法比安(31岁)
史蒂文·费舍尔(1)
蒂莫·布鲁梅尔霍夫(24岁)
托尼·亨利克(3岁)
托斯滕·韦根(3岁)
第谷·德·沃德(4)
Vicenç Masanas(27岁)
Vincent Nguyen(3岁)
维塔利·科扎达耶夫(6岁)
威尔·摩根维克(40岁)
威尔·斯特罗尔(180岁)
威廉·塞弗伦斯(5岁)
什么是液体含量?
找出
什么是液体含量?
找出
什么是液体含量?
找出
Baidu
map