基础只多 4K 不值得,还不如用现在下班的时间多学习学习,以后跳个号的
生活总是应该排在工作之前的,南京的幸福感就不高,羡慕大佬有这样的经历
seleniumbase
我们用的 pytest,在 conftest 里先初始化 driver
@pytest.fixture(scope='function')
def driver():
# setUp
get_driver = DriverConfig().driver_config()
yield get_driver
# tearDown
LoginPage().logout(get_driver)
get_driver.quit()
然后在测试用例里传入 driver
class TestAppEngineDF001:
@user2e
@pytest.mark.needUI
@allure.feature("AppEngine")
@allure.story("AppEngine.DF")
def test_df_001(self, driver):
# 用例名称
case_name = '/autotest/appengine/DF/001'
用例里再调用 page 类,driver 是传递下去的
with allure.step("2、点击添加按钮"):
ViewPage().view_click_operation_button(driver, '添加')
一直传到 selenium 的二次封装那部分.
def element_click(self, driver, locate_type, locator_expression, wait_for_locate_type=None,
wait_for_locator_expression=None, wait_for_disappear_locate_type=None,
wait_for_disappear_locator_expression=None, timeout=30):
"""
元素点击
:param driver: 浏览器驱动
:param locate_type: 定位方式类型
:param locator_expression: 定位表达式
:param wait_for_locate_type: 等待元素出现的元素定位方式类型
:param wait_for_locator_expression: 等待元素出现的元素定位表达式
:param wait_for_disappear_locate_type:等待元素消失的元素定位方式类型
:param wait_for_disappear_locator_expression:等待元素消失的元素定位表达式
:param timeout:超时时间
:return:
"""
# 元素要可见
element = self.element_visibility_appear(driver=driver, locate_type=locate_type,
locator_expression=locator_expression,
timeout=timeout)
try:
# 点击元素
element.click()
except(StaleElementReferenceException, ENI_Exception):
self.wait_for_ready_state_complete(driver=driver)
time.sleep(0.05)
element = self.element_visibility_appear(driver=driver, locate_type=locate_type,
locator_expression=locator_expression,
timeout=timeout)
element.click()
except Exception as e:
print("页面出现异常,元素不可点击", e)
return False
try:
# 点击元素后的元素出现或元素消失
self.element_visibility_appear(driver, wait_for_locate_type, wait_for_locator_expression)
self.element_visibility_disappear(driver, wait_for_disappear_locate_type,
wait_for_disappear_locator_expression)
except Exception as e:
print("等待元素消失或出现失败", e)
return False
return True
人在不同的高度,看到的东西是不一样的;从最近几年的招聘就能开出,测试需要技术,需要通过技术来提升这个行业的竞争力以及薪资水平,不管是抢了开发或者运维的活,那都是本事;世间本来就是优胜劣汰的
早上从杭州东站坐公交到园区,会堵车吗?选择打车还是公交或者地铁,哪个好一些?
大佬应该平常脾气不太好吧,挺强势的,哈哈
早鸟票和标准票有啥区别?
不加 allow remote,其他机器应该也能访问吧。我之前装的时候,查资料说是 node 必须用 node8,你的是 node9,不晓得是不是有影响。在 linux 装直接用 docker 镜像应该会方便很多吧
用 cnpm,淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
然后 cnpm install -g stf
用坐标点击吧
楼主的那个自动化开展不起来的疑惑,其实现在最实用最简单最高效的,是先把接口自动化落地,这能解决很多问题,也能让公司认识到自动化的重要性。其次才是 UI 自动化,UI 自动化只是保证基础业务流程没有问题,以及确保版本的 bug 下次不再出现。想让 UI 自动化去发现大量 bug,基本不可能。
希望结束了能把 PPT 发出来分享一下
我现在在开发的,跟楼主做的自动化很像,只是我没有做插件。我这儿的 web 端的自动化还是用的 selenium,但用了 opencv 的图像对比差异,现在的自动化产出是每次可以通过 opencv 标出当前版本与上个版本的差异的地方,不是 bug 就是前端有修改。手机端因为公司开发做的产品的各种元素识别还有 H5 的问题,导致我放弃了 appium 的元素定位,现在改成了用 opencv 的模板匹配去做。现在比较麻烦的是,每次模板图片都要自己手动去扣,楼主这个插件做的,让我很佩服,感觉开辟了我一条新的思路
"noReset": "True"
实用,赞一个
感觉 pyecharts 并不好用,还不如直接用 echarts,用 django 加上 ajax 去实现页面展示和局部刷新。不过你这个方法代码少一些,不集成到测试平台,只是平时看看,还挺简便的
pyautogui 也可以解决
allure 可以把测试步骤加进去,我感觉更清晰一些,特别是 UI 自动化的时候。pytest 确实好用。
觉得没人讨论技术就换个工作呗,有时候自己钻研几天的问题不如跟别人讨论几分钟
我单个用例跑时没有报错,并发的时候就这样了,求助