python自动化基础问题解析

 

(1)自动化代码中用到的设计模式:

  • po模式(page object)

    1、PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰。

    2、页面对象与用例分离,使得我们更好的复用对象。

    3、可复用的页面方法代码会变得更加优化

    4、更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。



  • 单例模式单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例
  • 工厂模式:工厂模式是一个在软件开发中用来创建对象的设计模式。
  • 数据驱动模式:将测试脚本与测试数据分离,使得测试脚本在不同数据集合下复用,ddt装饰
  • 面向接口编程设计模式:当客户需求变化的时候,只需编写该业务逻辑的新的实现类,通过更改配置文件(例如Spring框架)中该接口的实现类就可以完成需求,不需要修改现有的代码,减少对系统的影响

(2)TestNG是一个测试框架,他的注解有:

@BeforeSuite
在该套件的所有测试都运行在注释的方法之前,仅运行一次。

@AfterSuite
在该套件的所有测试都运行在注释方法之后,仅运行一次。

@BeforeClass
在调用当前类的第一个测试方法之前运行,注释方法仅运行一次。

@AfterClass
在调用当前类的第一个测试方法之后运行,注释方法仅运行一次

@BeforeTest
注释的方法将在属于<test>标签内的类的所有测试方法运行之前运行。

@AfterTest
注释的方法将在属于<test>标签内的类的所有测试方法运行之后运行。

@BeforeGroups
配置方法将在之前运行组列表。 此方法保证在调用属于这些组中的任何一个的第一个测试方法之前不久运行。

@AfterGroups
此配置方法将在之后运行组列表。该方法保证在调用属于任何这些组的最后一个测试方法之后不久运行。

@BeforeMethod
注释方法将在每个测试方法之前运行。

@AfterMethod
注释方法将在每个测试方法之后运行。

@DataProvider
标记一种方法来提供测试方法的数据。 注释方法必须返回一个Object [] [],其中每个Object []可以被分配给测试方法的参数列表。 要从该DataProvider接收数据的@Test方法需要使用与此注释名称相等的dataProvider名称。

@Factory
将一个方法标记为工厂,返回TestNG将被用作测试类的对象。 该方法必须返回Object []。

@Listeners
定义测试类上的侦听器。

@Parameters
描述如何将参数传递给@Test方法。

@Test
将类或方法标记为测试的一部分。原文出自【易百教程】,商业转载请联系作者获得授权,非商业请保留原文链接:https://www.yiibai.com/testng/basic-annotations.html

以下是使用注释/注解的一些好处:

  • TestNG通过查找注释/注解来识别它感兴趣的方法。 因此,方法名称不限于任何模式或格式。

  • 可以将其他参数传递给注释。

  • 注释是强类型的,所以编译器会马上标记任何错误。

  • 测试类不再需要扩展任何东西(如TestCase,对于JUnit3)。

原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/testng/basic-annotations.html

(3)什么是断言 

1。断言是测试判断代码执行后实际结果是否和预期结果相等,
2.测试用例出错,可以抛出异常

  

原文地址:https://www.cnblogs.com/tzxy/p/11016200.html