Oracle apex 如何绕过单元测试Oracle APEX的登录?
根据Cypress最佳实践,我应该避免在每次测试之前使用我的登录UI。我很难做到这一点,因为似乎登录过程需要的不仅仅是用户名和密码 我使用chrome的Oracle apex 如何绕过单元测试Oracle APEX的登录?,oracle-apex,cypress,Oracle Apex,Cypress,根据Cypress最佳实践,我应该避免在每次测试之前使用我的登录UI。我很难做到这一点,因为似乎登录过程需要的不仅仅是用户名和密码 我使用chrome的篡改数据工具和Jmeter检查了Oracle APEX登录过程的机制,基本上,登录过程有两个步骤: (1) 登录页面重定向到URL中具有有效会话id的登录页面,该登录页面的种子为数十个时间敏感的唯一id。 (2) 提交用户名和密码后,将向/ords/wwv_flow.accept发出POST请求,其中包含用户名、密码和其他几个对时间敏感的唯一标识
篡改数据工具
和Jmeter
检查了Oracle APEX登录过程的机制,基本上,登录过程有两个步骤:(1) 登录页面重定向到URL中具有有效会话id的登录页面,该登录页面的种子为数十个时间敏感的唯一id。
(2) 提交用户名和密码后,将向/ords/wwv_flow.accept发出POST请求,其中包含用户名、密码和其他几个对时间敏感的唯一标识符 APEX似乎需要类似以下内容才能成功登录:
p_json : {"salt":"108222855956905007172773085768141257328","pageItems":{"itemsToSubmit":[{"n":"P101_USERNAME","v":"jsmith"},{"n":"P101_PASSWORD","v":"Password123"}],"protected":"unDCYO1qmj_OAwtyYNo_yA","rowVersion":""}},
p_flow_id : 4000250,
p_flow_step_id: 101,
p_instance: 6589106753596,
p_page_submission_id: 108222855…,
p_request : LOGIN,
p_reload_on_submit : A
所有这些变量(除了用户名和密码)都可以在登录页面中使用,但要获得它们,我必须访问登录UI,这是我试图避免的。我是不是想错了?我认为这是错误的方法。至于单元测试,您必须接受生产与预生产方面的某种程度的可变性。 上面说,我认为你需要考虑一些更“正常”的方法,比如:
- 在Pre-Prod中更改密码
- 备用身份验证方案李>
- 根据您的需要选择其他构建选项
不过,这个自定义身份验证模式与单元测试无关。这对我来说很有意义。谢谢你的推荐。