- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我需要在我正在开发的 Chrome 扩展程序上运行自动化测试。第一步是验证/登录 GSuite 日历。
我正在使用 Cypress,但它不允许我登录 GSuite 日历。相反,当“点击登录”(来自 Cypress )时,它会再次跳转到 Next
按钮。
describe('Login',function() {
it('Go to GSuite calendar', function() {
cy.visit('https://www.google.com/calendar')
})
it('Login', function() {
cy.get('#Email').type('my user')
cy.get('#next').click()
cy.get('#Passwd').type('my password')
cy.get('#signIn').click()
})
})
这失败了,将我带到 Next
按钮
from selenium import webdriver
import time
# variables for userid & password
u = "JohnDoe@xxxx-labs.com"
p = "Mysecretpassword"
# chromedriver installation required for login through google chrome
driverpath = "C:/Users/pjain2/Desktop/chromedriver_win32/chromedriver"
# launch google calendar login page
d = webdriver.Chrome(driverpath)
d.get("https://www.google.com/calendar")
# fill email field send_keys for filling text
e = d.find_element_by_id("identifierId")
e.send_keys(u)
# find & click next button
d.find_element_by_xpath("//*[@id='identifierNext']/content/span").click()
time.sleep(2)
# enter password
e = d.find_element_by_xpath("//*[@id='password']/div[1]/div/div[1]/input")
e.send_keys("Mysecretpassword")
time.sleep(2)
# sign in
d.find_element_by_xpath("//*[@id='passwordNext']/content/span").click()
time.sleep(10)
有什么建议吗?
最佳答案
在spec.js
文件中添加如下代码:
describe('Random VMR for ESG',function() {
beforeEach(() => {
cy.visit('https://www.google.com/calendar')
})
it('type email & password', function() {
cy.get('#Email').type('my user')
cy.get('#next').click()
cy.get('#Passwd').type('my password')
cy.get('#signIn').click()
})
})
在support
文件夹,位于 command.js
中,添加以下代码:
Cypress.Commands.add('login', ()=> {
cy.request({ // cy.request is not bound by any security and will bypass the login part
method: 'POST' , // Post request to URL along with body
url: 'https://www.google.com/calendar',
body: {
user: {
email: 'my user',
password: 'my password',
}
}
})
//server sends back the response JSON payload
.then((resp) => { //token extracted from JSON payload and is saved in LocalStorage
window.localStorage.setItem('jwt' , resp.body.user.token)
})
})
在spec.js
文件,有只访问 URL 并测试 email
的代码和 password
输入类型并登录。
问题是在登录后立即将页面重定向回第一页。要解决此问题,我们使用 cy.request
在commands.js
文件自cy.request
浏览器限制之外的请求。 即它不受任何安全性的约束。
一旦您对登录进行了适当的 e2e 测试,就没有理由继续 cy.visit()
登录并等待整个页面加载所有相关资源,然后再运行任何其他命令。这样做会减慢我们整个测试套件的速度。使用 cy.request()
,我们可以绕过所有这些,因为它会自动获取和设置 cookie,就像请求来自浏览器本身一样。
因此,POST 请求与 JSON 负载或正文一起发送。现在,在成功验证请求主体后,我们的应用程序代码从有效负载中提取 token 并将其保存在本地存储中,并将 token 添加到所有请求 header 中,以便 API 服务器可以验证后续请求从我们的应用程序。
当我们的应用程序加载时,它会检查 token 是否已在本地存储中,如果是则继续并将其设置在请求代理上。这样,当您测试 GSuite 时,它将绕过登录部分。
关于node.js - 如何使用 Cypress 测试登录 GSuite 日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54308788/
我想知道是否有一种简单的方法可以为网站制作自上而下的列表日历。我不想使用谷歌日历。我还希望日历像接下来的 5 个事件一样显示并隐藏其余事件,直到显示的 5 个事件已经发生。如果有办法用 jquery
我使用的是 Drupal 日历,它在除 IE7 之外的所有浏览器中都运行良好。在 IE7 中,不会呈现单个日历条目。 奇怪的是,如果页面加载缓慢,那么正确着色的表格单元格会出现然后消失。 这是我尝试过
我已经广泛使用了原型(prototype),并且不想添加像 YUI 这样的额外框架。 我需要一个 JavaScript 日历,它使我能够逐个单元格地自定义日历单元格的呈现。 (用于渲染特定日期的事件、
通过 Google API 浏览器,我可以使用日历 ID 访问我的公共(public)日历事件列表。所以我知道这是对的 https://developers.google.com/google-app
我是 CakePHP 的新手,想使用这个框架创建一个日历。我遇到了困难,想知道是否有关于如何使用 CakePHP 创建简单日历的教程或指南? 最佳答案 这里有两个链接:LINK1 (日历助手)和 LI
我正在寻找一个与 jquery week calendar 具有相同功能的 jquery 日历 我浏览了某些日历,但它们不包含jquery周日历的资源 这可能是一个愚蠢的问题,但我可以修改jquery
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我想问一下我是否可以将日历“移动”到页面的右侧?因为我意识到它只能显示在左手边。我真的不知道如何将它“移动”到右侧...我也不知道如何放入 css 来做到这一点。 这是制作日历的代码... //
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在构建一个月份列表,用作 JSP 中表格的标题。 我正在做的是比较我从数据库中获得的月份,并一直迭代或“尝试”到那个月。在这种情况下,月份是 11 月 问题是我只能从 2012 年 10 月到 2
我将开发一个支持多种语言的日历解决方案,但我不确定应该如何根据各个国家/地区的用户需要来管理和显示所有不同的假期信息? 有没有地方提供世界假期信息,以便我可以解析和显示?如果没有,您会推荐更好的开发方
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我试图让我的应用程序隐藏周末,我的日历存储在一个字符串中,然后打印到innerHTML。我该如何隐藏周六和周日。 我的日历打印如下: 周日周一周二周三周四周五周六 代码: calendarString
日历有可能从星期一开始吗?我在教程中找到了这个,但我的 JS 知识还不够。我改变了一些值但没有成功。 function Calendar(id, year, month) { var elem
我正在创建一个使用 iCal 格式日历的应用程序,很可能由 Google 存储在 Google 日历中。 实现这一目标的最佳方法是什么?我真的不想在 iOS 日历应用程序中导入我的日历。 我应该解决重
在应用程序中,我使用星期几来打开成就。 let date = Date() let dateFormatter = DateFormatter() dateFormatter.dateFormat =
我正在尝试在java中为日历对象设置自定义日期和时间。我必须创建一个比当前日期多 1 天的日期,并且时间应设置为“X”(例如 05:00:00)。 这是我到目前为止所做的: Calendar tomo
while (r.next()) { String rn = r.getString(3); String sqldate = r.getString(2); // database
我有一个日历,其中突出显示了一些日期 它工作得很好,直到我想突出显示 2013 年 3 月 31 日之后的日期。此后日期就正常显示。 有人知道为什么会这样吗? 这是我用来突出显示日期的代码 //
关于报警管理器的问题我有这个代码 Calendar cal = Calendar.getInstance(); cal.add(Calendar.SECOND, 5); Intege
我是一名优秀的程序员,十分优秀!