SeldomQA / poium

Page Objects design pattern test library, support selenium、appium、playwright, etc
https://pypi.org/project/poium
Apache License 2.0
404 stars 138 forks source link

能否与DrissionPage 工具兼容?https://pypi.org/project/DrissionPage/ #45

Open neihanshenshou opened 1 year ago

neihanshenshou commented 1 year ago

感觉DrissionPage的执行效率也很快,相比playwright有一拼。所以也想像Locator、Element、它们一样,对DrissionPage也进行元素剥离,这可以进行兼容改造么?

defnngj commented 10 months ago

drissionPage 本身就有page 的概念。从他的语法看。 语法本身也没很精简

from DrissionPage import ChromiumPage

# 创建页面对象,并启动或接管浏览器
page = ChromiumPage()
# 跳转到登录页面
page.get('https://gitee.com/login')

# 定位到账号文本框,获取文本框元素
ele = page.ele('#user_login')
# 输入对文本框输入账号
ele.input('您的账号')
# 定位到密码文本框并输入密码
page.ele('#user_password').input('您的密码')
# 点击登录按钮
page.ele('@value=登 录').click()

所以,我觉得没必要用 poium 的语法糖再给他包一层。

neihanshenshou commented 10 months ago

感谢回复,但是运行起来感觉它的运行效率比普通的selenium要快不少,直觉可与playwright相提并论了,不知为什么 求解答~ ---- 回复的原邮件 ---- | 发件人 | @.> | | 发送日期 | 2023年08月23日 23:31 | | 收件人 | SeldomQA/poium @.> | | 抄送人 | neihanshenshou @.>, Author @.> | | 主题 | Re: [SeldomQA/poium] 能否与DrissionPage 工具兼容?https://pypi.org/project/DrissionPage/ (Issue #45) |

drissionPage 本身就有page 的概念。从他的语法看。 语法本身也没很精简

fromDrissionPageimportChromiumPage# 创建页面对象,并启动或接管浏览器page=ChromiumPage()

跳转到登录页面page.get('https://gitee.com/login')

定位到账号文本框,获取文本框元素ele=page.ele('#user_login')

输入对文本框输入账号ele.input('您的账号')

定位到密码文本框并输入密码page.ele('#user_password').input('您的密码')

@.***=登 录').click()

所以,我觉得没必要用 poium 的语法糖再给他包一层。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

yongchin0821 commented 10 months ago

使用了几个月,已经从drissionPage踩坑归来。本身是好工具,但不是真正意义上的UI和HTTPS结合,因为他们还是不共session!但是两者单独拧出来确实很是优雅的自动化解决方案

bluefire1999 commented 10 months ago

DrissionPage本身就是POM封装。 比selenium快正常,它不是基于chromedriver的,能稳定过cloudflare。