小编lfb*_*jas的帖子

如何传播通过gdata python api创建的Google日历活动的提醒?

我正在开发一个python应用程序,它使用gdata以编程方式为一组人创建和保存日历.除了共享日历中的提醒外,一切正常.

某些上下文:当您创建新项目时,会以您的名义为其创建Google日历.当您邀请协作者时,会与他们共享相同的日历.这样,当你创建任务时,每个人都可以在他们的日历中看到它们.所有这些都已实现并且工作正常.

现在,我希望人们在前一天提醒有关待处理的任务.所以我这样做了:

event = CalendarEventEntry()
#more stuff with the event, such as setting start and end times...
for w in event.when:
    w.reminder.append(Reminder(days=1, method="email"))
Run Code Online (Sandbox Code Playgroud)

问题是,提醒仅发送给日历的所有者,而不是与其共享的其他人.

我发现谷歌日历的信息表明它应该在每个用户的设置中手动完成,这是一个我不喜欢的解决方案,因为我的应用程序的重点是以编程方式更新您的日历; 我还读到它可以通过创建组和使用组日历来解决,但这意味着(a)我的现有用户不会受益,(b)可能是巨大的开销,如果没有像样的话我很乐意承担这个特殊问题的解决方案.

python django google-calendar-api gdata

10
推荐指数
1
解决办法
2685
查看次数

如何使用selenium测试jquery ajax选项卡?

我正在用selenium测试一个django应用程序,我的一个页面使用了jquery ui tabs元素.其中一个选项卡包含一个列出一些用户的简单表,并通过ajax加载.使用该应用程序时,该选项卡工作得很好,但是当使用selenium自动执行测试时,该选项卡似乎不会加载它的内容!我自己在python中编写测试.起初,我正在使用selenium RC 的click方法,但正如我从先前的测试中学到的那样,当涉及到锚标签时,这是相当错误的,所以我采用了之前使用的解决方案:wait_for_condition方法和明确地调用了tab单击事件(甚至是load事件!)然而选项卡仍然无效!

我在这里绝望,我的大多数测试依赖于那个页面,其中几乎一半都在那张桌子上,但是,唉,似乎selenium搞砸了javascript!(我在课堂上有其他测试,它们运行得很好,所以在服务器级别没有任何奇怪的事情,这似乎是由客户端的selenium引起的问题)我的测试代码与此类似:

class TestMyApp(TransactionTestCase):
urls = 'myapp.test_urls'

def setUp(self):
    self.verificationErrors = []
    self.selenium = selenium("localhost", 4444, "*chrome", "http://localhost:8000/")
    self.selenium.start()
    #self.selenium.set_speed(2000)
    self.selenium.window_maximize()
def test_users_list(self):
    """Test that an app's users are correctly listed"""
    sel = self.selenium
    users = []
    for u in range(settings.FREE_USER_LIMIT/2):
        users.append(self.app.users.create(name="testUser_%s"%uuid4()))

    sel.open("/")        
    sel.wait_for_page_to_load("30000")
    sel.wait_for_condition('selenium.browserbot.getCurrentWindow().jQuery("#tabs").tabs("select",1);\
    selenium.browserbot.getCurrentWindow().jQuery("#tabs").tabs("load",1);',
                             3000)
    for user in users:
        try: self.failUnless(sel.is_text_present(user.name))
        except AssertionError, e: self.verificationErrors.append(str(e))
        try: self.failUnless(sel.is_text_present(str(user.added.date())))
        except AssertionError, e: self.verificationErrors.append(str(e))
def tearDown(self):
    self.selenium.stop()
    self.assertEqual([], self.verificationErrors)
Run Code Online (Sandbox Code Playgroud)

python django unit-testing jquery-ui selenium-rc

4
推荐指数
1
解决办法
1969
查看次数