- 主题:新型的 js 框架不好做 UI 自动化啊
cypressjs
【 在 hgoldfish (老鱼) 的大作中提到: 】
比如有个 <form><input id="xxx" value=""/></form> 是使用 reactjs 绘制出来的。
以前,如果我们想做自动化测试工具,只要简单改动 $("#xxx").value="v" 再提交 form 就行了。现在改动这个 value 并没有用。因为 reactjs 在刷新 dom 的时候,内部值并没有变化,马上又会变成 "",提交的值不对。
有时候调用 dispatchEvent(new Event("change")) 好像也没用。
有什么好的办法解决这种问题吗?
--
FROM 180.174.46.*
哇靠, cypress已经过时了啊~~ 前端发展真是快,
赞同, 很多东西自己轮除了浪费精力外基本没啥好处... 除了多踩踩坑外, 没啥了, 另外多看看相关框架的设计文档也能学到不少, 比闭门造车强多了.
【 在 eGust (十年) 的大作中提到: 】
: 这里面提到的从 selenium 这种老掉牙的,到过时的 cypress,再到比较新的 pupputeer,没一个存在你提出的弱智问题。
: 行业里经过实战考验的框架难用,连这种弱智问题都解决不了反倒好用,你哪来的自信呢?
--
FROM 180.174.200.*
你可以说说你的应用场景, 为啥不适用现有技术, 而不是非要来造一个轮子才能搞得定呢?
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 前端社区可能是因为用 mac 用得太多。所以整个社区都被果子文化给洗脑了。
: 技术社区现在都不讨论一个技术到底是什么原理,而是充斥着你们这种论调:既然主流技术适用这个应用场景,那这个场景一定是没有意义的。跟果粉以前一直在证明鼠标只有一个按键就够了差不多。
: 生生把自己封闭在自己一个小圈子里面。
: ...................
--
FROM 101.83.209.*
至于说技术原理, 个人认为我对这个东西的技术原理还是略懂一些的, 但从工作的角度来讲, 无非是用合适的技术来解决工作的问题, 不觉得为了搞明白技术原理而搞一个轮子去某个问题更好哇, 对吧.
从你这个问题来讲, 请问你有没有用过前面提到的几个工具, 然后发现它们不适合或者解决不了你的问题? 从你的提问来讲, 你要解决的是一个非常简单的问题, 这几个工具都已经解决的很好了, 那么有什么必要一定要自己轮一个呢?
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 前端社区可能是因为用 mac 用得太多。所以整个社区都被果子文化给洗脑了。
: 技术社区现在都不讨论一个技术到底是什么原理,而是充斥着你们这种论调:既然主流技术适用这个应用场景,那这个场景一定是没有意义的。跟果粉以前一直在证明鼠标只有一个按键就够了差不多。
: 生生把自己封闭在自己一个小圈子里面。
: ...................
--
FROM 101.83.209.*
1. 你前面并没有提 特定的js环境, 对吧
2. 如果针对你们特定的js环境测试网页, 我倒觉得可以mock一些方法, 试试让你们的页面可以在网页里渲染起来, 之前我们的基于electron的一个程序, 想过用类似的方案搞自动化测试(不过后来没做)
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 我前面不是说了吗?我的场景里面是特定的 JS 环境。你们搞的那些东东在这种环境里面一个都跑不起来。
--
FROM 101.83.209.*
这并不是这些框架的问题啊, 事实上这些框架的自动化测试很成熟了, 也很简单
你这也只能说"这些UI框架在你们特定的场景下特别难搞自动化测试"......啊
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 我们没有页面呢,纯 JS 的,只能访问到 dom,不能访问到页面的 js.
: 我需要去兼容页面,所以才吐槽这种事。今天 react,明天 vue,哪天再出来个框架监听那些事件。。我又得想办法了。
--
FROM 101.83.209.*
是基于html渲染的, 还是QML渲染的?
基于html渲染的应该好搞一点, 基于QML的就不好说了
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 我们没有页面呢,纯 JS 的,只能访问到 dom,不能访问到页面的 js.
: 我需要去兼容页面,所以才吐槽这种事。今天 react,明天 vue,哪天再出来个框架监听那些事件。。我又得想办法了。
--
FROM 101.83.209.*
我又去翻了下原文, 感觉老鱼某种特别的优越感啊... 不过说回来, 前端的技术含量也不低, 虽然我不专业搞前端. 时代变了.
【 在 eGust (十年) 的大作中提到: 】
: 不知道你怎么总能编出来这么多不存在的事情
: react 跟 vue 哪里吵了?
: 上次还编说 node 自称要统一后端
: ...................
--
FROM 114.95.226.*
eGust说的没错, yield和async在js里是完全两个不同的东西
yield/generator这一套, 在js里用相对不多, 知名的框架比较少,
比较有名的大概就是redux-saga了, 前端大多用async/await或者rxjs的更多一些
而且其实你说扔了js搞ts, 这个倒也没有, 本身这两个就可以通用, 即使你说的那几个框架, 用js/ts都可以写
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 哈哈。。我就说你自己套小圈里吧。。居然说 yield/async 在 js 社区不主流。
: 眼界放开一点。现在 async/await 这一套在各种语言里面都是主流了。在 rust, python 社区里面都在大力普及了。es2017 到现在也四五年了。
: 说实话,js 社区特别奇怪。如此摒弃自己吃饭的工具,js 扔了搞 ts 真是太奇葩了。
: ...................
--
修改:pangwa FROM 223.166.240.*
FROM 223.166.240.*
我觉得你可以把你的问题讲具体一些,
而且如果你们是基于js+html渲染的话, 通过mock肯定可以模拟你们的运行环境, 无非就是往global里注入一些对象, 这些都有现成的方案
【 在 pangwa (学门手艺,混口饭吃.) 的大作中提到: 】
: eGust说的没错, yield和async在js里是完全两个不同的东西
: yield/generator这一套, 在js里用相对不多, 知名的框架比较少,
: 比较有名的大概就是redux-saga了, 前端大多用async/await或者rxjs的更多一些
: ...................
--
FROM 223.166.240.*