当前位置: 首页 > news >正文

电子商务网站的设计要求包括如何建立自己的网站?

电子商务网站的设计要求包括,如何建立自己的网站?,wordpress获取图片的绝对地址,天津外贸网站建设这其实就是我们常说的“UI自动化测试”,针对这个问题,我先告知答题思路如下: 1、什么是UI自动化?有什么优势? 2、UI自动化实践中会遇到什么难题? 3、如何解决难题,将UI落实到实践中?…

这其实就是我们常说的“UI自动化测试”,针对这个问题,我先告知答题思路如下:

1、什么是UI自动化?有什么优势?
2、UI自动化实践中会遇到什么难题?
3、如何解决难题,将UI落实到实践中?【重点】

一、什么是UI自动化?为什么使用UI自动化?

1、什么是UI自动化?

本质上来说,UI自动化测试,就是通过脚本或工具代替人工去执行功能测试用例,自动完成测试用例的执行工作。常用于验证用户界面的功能、兼容和稳定性等,主要用于执行回归测试。

UI自动化测试,可以模拟用户与应用程序或网站的交互,自动执行用户界面上的操作,如点击按钮、输入文本、选择选项等,并检查应用程序或网站的响应和行为是否符合预期,在软件开发过程中帮助检测是否存在bug。

图片

2、UI自动化有什么优势?

UI自动测试可以模拟人工执行测试,是最接近用户真实操作的测试方法,这是UI自动化测试最吸引人的地方,那么UI自动化测试还有下面这些优势:

优势1:提高测试效率。

相比手动测试,UI自动化测试可以快速、准确地执行大量的测试用例,提高测试效率,减少人工测试的工作量。

优势2:提高测试覆盖率。

UI自动化测试可以覆盖应用程序或网站的各个功能和页面,确保每个功能都经过测试,提高测试覆盖率,减少漏测的风险。

优势3:提高测试一致性。

UI自动化测试可以确保在不同平台、浏览器或设备上的测试执行一致,减少人工测试的主观因素,提高测试的一致性和可靠性。

优势4:提高软件质量。

UI自动化测试可以帮助检测和修复应用程序或网站中的错误和缺陷,提高软件质量,减少软件发布后的问题。

但UI自动化测试在实战中却像是“带刺的玫瑰”。因为它能模拟用户真实的操作应用程序或前端网站,是最贴近用户真实行为的模拟测试,但是因为实践中的一些难题,导致UI自动化容易投入很大,却没有取的很好的效果。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

二、UI自动化实践中会遇到什么难题?

有些人说UI自动化没有啥用,主要是UI自动化在实际应用中会遇到一些难题,导致没有取的很好的效果,UI自动化测试目前主要面临下列这些挑战:

1.UI自动化测试的投入产出比低。

想要取得好的效果,必须前期投入较大在资源进行脚本开发,但是往往后期使用时没有取的预想的效果,容易导致投入中断?

2.保障脚本的维护是个大问题。

项目频繁的迭代,导致前端页面变化很快,对应的脚本得不断的修改,如何保障脚本的维护是个大问题。

3.UI自动化测试的稳定性也是个挑战。

脚本执行时经常遇到各种奇奇怪怪的Bug,如何保障脚本的稳定性是个头疼的问题。

三、实践中如何解决以上4个难题?【重点】

实际过程中,以上4个难题该如何进行优化呢?咱们以前端的web UI自动化为项目,以Python+Selenium框架为背景,来看下项目若要执行自动化测试,应该怎么搞。

优化1:如何保障投入产出比?

很多人搞UI自动化测试没有想清楚到底要怎么搞?上来就拿个框架,先搞起来再说,投入了很多人力物力,然后搞到一半时却发现很多问题,最后就完犊子了。。。

所以开始前,需要做好规划,要明确目标。如果是新起动的UI自动化测试,建议可以先选好框架,然后选择一个业务流程作为案例,以该案例为目标去执行框架的搭建和脚本的开发,完成开发后主要投入回归测试当中,看看实际执行的效果如何,然后统计投入的时间和人力成本,然后再进行下一步的推进。

优化2:如何保障脚本的维护?

当前项目都是频繁迭代的,这是不可改变的事实,所以脚本写完后一定需要维护修改。

基于这个事实,我们能优化的就是减少修改的次数,在UI自动化中,最常用的优化方法就是使用PO模式进行封装。

那什么是PO模式呢?

PO,是Page Object的缩写,简单来说,就是将前端项目中的每个页面封装为一个“类”,页面上的元素都封装为实例的“属性”,页面上的功能操作都封装为实例的“方法”。

这样封装后,无论将来页面怎么变化,我们只需要修改一次即可,可以大大的提升维护的效率。

图片

PO模式是自动化测试项目开发实践的最佳设计模式之一

优化3:如何保障脚本执行的稳定性?

UI自动化脚本执行时可能会遇到各种问题,比如浏览器启动时间过长,比如页面加载过长,比如图片被挡住等等,你无法预知。

优化方法,除了我们常用的各种显式或隐式等待处理外,我们还可以对原始的api进行封装。比如以Web UI常用的Selenium框架为例,当我们等待某个元素出现时,为了保障成功性,需要对“等待”做一个封装。除了显示等待外,还可以进一步优化,做个循环处理,就是等待3次,每次等待失败后可以重新刷新等待。

比如封装一个“等待元素”出现,确保可以点击的方法,如下所示:

def element_click_wait(self, located_type, located_key, assert_condition=None, message="执行点击超时",time_out=10, refresh=False):        """        【适用于页面跳转时等待元素出现,确保可以点击的场景】        等待1个元素点击是否正常,并验证点击是否成功,每隔一段时间轮询点击1次,直到超时抛出异常为止        @:param located_type 定位方式(8种:id name class tag link plink xpath css)        @:param located_key 定位关键字        @:param assert_condition 验证点击是否完成的断言条件语句【默认不验证点击是否成功】        @:param message 点击失败提示信息        @:param time_out 等待时长,默认为10秒        @:param refresh 刷新标志,如果为True,则在等待超时后,刷新页面,重新再执行一轮等待执行(相当于刷新后重新执行一次)        如果是False,则不执行刷新,直接超时报错        """        driver = self.driver        is_type_true = 0  # 用户判断定位方式参数是否正确        for i in range(int(time_out)*2):  # 循环次数为配置的2倍,以便处理刷新重试的情景            try:                time.sleep(1)                if located_type == "id":                    driver.find_element_by_id(located_key).click()                elif located_type == "name":                    driver.find_element_by_name(located_key).click()                elif located_type == "class":                    driver.find_element_by_class_name(located_key).click()                elif located_type == "tag":                    driver.find_element_by_tag_name(located_key).click()                elif located_type == "link":                    driver.find_element_by_link_text(located_key).click()                elif located_type == "plink":                    driver.find_element_by_partial_link_text(located_key).click()                elif located_type == "xpath":                    driver.find_element_by_xpath(located_key).click()                elif located_type == "css":                    driver.find_element_by_css_selector(located_key).click()                else:                    is_type_true = 1            except:                if i == (int(time_out)-1):  # 第1次循环到点判断                    if refresh:  # 执行刷新后重新再执行1轮                        refresh = False                        self.element_refresh_wait()  # 刷新页面                        continue                    else:  # 不执行刷新重试                        AutomationLog.LogMsg("点击失败,第1次等待超时啦!---【"+located_type+","+located_key+"】", 2)                        raise ex.TimeoutException(message)                elif i == (int(time_out)*2-1):  # 刷新后再执行1轮还是失败了                    AutomationLog.LogMsg("点击失败,第2次等待也超时啦!---【" + located_type + "," + located_key + "】", 2)                    raise ex.TimeoutException(message)                elif assert_condition:  # 正常执行循环(验证点击是否成功,成功则结束循环,否则继续循环)                    try:                        WebDriverWait(driver, 1).until(assert_condition)                        break                    except:                        continue                else:  # 正常执行循环(不验证点击结果)                    continue            if is_type_true == 1:                AutomationLog.LogMsg("定位方式写错啦,请检查located_type参数!---【" + located_type + "】", 2)                raise ex.InvalidArgumentException("定位方式参数出错!")            elif assert_condition:  # 正常执行循环(验证点击是否成功,成功则结束循环,否则继续循环)                try:                    WebDriverWait(driver, 1).until(assert_condition)                    break                except:                    continue            else:  # 正常执行循环(不验证点击结果)                break

当然,除了以上的实践经验,其他比如还可以找开发配合,对要测试的常用UI元素进行id的编码,这样也可以大大提升成功的效率,轻松解决定位的问题等。UI自动化分为web自动化和app自动化。

如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦...... 

http://www.hkea.cn/news/145760/

相关文章:

  • 申请做网站 论坛版主惠州seo外包服务
  • 网站照片上传不了域名解析ip
  • 胖小七网站建设2022最新国际新闻10条简短
  • wordpress 网站备份厦门seo外包服务
  • 网站建设及推广培训杭州百度快照优化排名
  • 简单手机网站开发软件关键词排名代发
  • visio画网站开发类图注册域名后怎么建网站
  • 道里网站运营培训北京网络营销咨询公司
  • 目前做网站流行的语言seo关键词排名优化哪家好
  • 长沙营销型网站制作费用seo图片优化
  • 学生诚信档案建设网站seo数据分析
  • 北京住房城乡建设厅网站首页1688官网入口
  • 网站建设需要懂什么软件徐州百度seo排名优化
  • wordpress网站样式网站排名查询
  • 郑州网站建设推销外贸网站推广与优化
  • 当当网站开发系统说明搜索引擎排名google
  • 国外男女直接做的视频网站企业邮箱登录入口
  • 成都可以做网站的公司百度手机助手最新版下载
  • 赤峰网站建设招聘市场营销互联网营销
  • 网站开发后端需要哪些技术友情链接检索数据分析
  • 金华竞价排名 金华企业网站建设常见的网络营销平台有哪些
  • p2p网站开发关键词seo是什么意思
  • 自己免费怎么制作网站合肥今天的最新消息
  • 今日头条新闻10条简短seo网络优化招聘信息
  • 赣州人才网官方网站关键词seo优化软件
  • cad做兼职区哪个网站郑州网络营销公司排名
  • 宁夏银川做网站的公司有哪些网络营销分类
  • 换物网站为什么做不起来中国免费广告网
  • 可以显示一张图片的网站怎么搭建搜索引擎优化策略
  • 精品课程网站建设论文今天的新闻最新消息