python 封装调用之class 、_init__、self搞懂了
参考:https://www.cnblogs.com/yulongzhou/p/10654185.html
__init__方法
其前面带有”__“,故此函数被声明为私有方法,不可类外调用。此方法可以带参数初始化
1.
写了模块searchpage.py:
# -*- coding:utf-8 -*-
class search:
def __init__ ( self, driver ):
self.driver = driver
def search_contacts( self, name ) :
serch="com.tencent.mm:id/r_"
conte="com.tencent.mm:id/m7"
resus="com.tencent.mm:id/s5"
#self.driver=driver
self.driver.find_element_by_id(serch).click()
self.driver.find_element_by_id(conte).send_keys(name)
assert len(self.driver.find_elements_by_id(resus))>=1
2.把searchpage.py模块导入,并在TESTCASES.py中执行:
searchpage.py、TESTCASES.py在同一目录下(https://www.cnblogs.com/deliaries/p/11315915.html)
import searchpage #在TESTCASES.py脚本导入模块
@pytest.mark.parametrize("name",["han","ha"])
def test_sercha(self,name):
search=searchpage.search(self.driver)
search.search_contacts(name)
每行代码解读:
(1)@pytest.mark.parametrize("name",["han","ha"])
'''这是PYTEST装饰器,给装饰的test_sercha函数传参,相当于2组测试数据,第一组是
name="han",第二组是name="ha"。'''
(2)def test_sercha(self,name):
(2-1)search=searchpage.search(self.driver)
'''类的实例化,传参:这个CLASS参数self.driver是给CLASS的私有方法__init__ ( self, driver )调用'''
(2-2)search.search_contacts(name)
'''这个是调用searchpage类里面的search_contacts方法,传参为name变量'''
Python类封装详解
本文深入解析Python中的类封装,探讨__init__方法的作用与使用,通过实例演示如何在类中初始化对象属性,以及如何在外部调用类的方法进行操作。
574

被折叠的 条评论
为什么被折叠?



