使用 Selenium 测试 Facebook Connect 应用程序?

2023-12-08

有人有使用 Selenium 来自动测试使用 Facebook Connect 进行用户登录的 Web 应用程序的经验吗?您有什么推荐的技巧或方法吗?


取决于你想做什么?

  1. 您会使用真实的 Facebook 用户(即经过 Facebook 验证的手机)吗?

    最安全、最可靠,但非常困难(不可能的)收集“真实”用户(通过 FB 验证的手机)。

    在定义用户/连接详细信息方面,例如教育历史、工作历史、姓名、年龄等(特别是如果您无法访问所有“真实”Facebook 帐户)。

  2. 为了测试应用程序而创建的假 Facebook 用户(未经 Facebook 验证)?

    可能是最容易设置的,因为都是假用户,不需要电话验证(使用 FB)。 但需要为所有用户创建电子邮件 ID。

    尽管连接信息可以根据您的喜好定制。主要缺点之一(这发生在我身上)是,如果 Facebook 检测到用户不合法,FB 将冻结所有帐户。这会让你所有的脸书用户特定的自动化测试眨眼间就变得毫无用处。你无能为力(除非你打算获得一个全新的电话连接来验证这些帐户,没有谷歌号码,没有Skype,不允许基于IP的电话。FB对此非常严格)。并且一个号码只能授权1个账号。

  3. 您将使用 Facebook API 创建 Facebook 测试用户吗?

    这可能是使用 Facebook 连接来测试您的应用程序的理想方式(根据 FB 的说法)。点击here有关如何使用它的文档。

    它可能看起来很简单,但它有它的缺点(主要的)。该 API 非常不可靠,有 10-20% 的时间返回错误,而其他时间则极其缓慢。如果FB测试用户的密码丢失一次,就无法找回。连接信息无法轻松自定义。设置某些东西需要付出相当大的努力,但每次都不能确定它是否有效。

我个人选择了第二种选择。 Facebook 根据跨多个 ip 的并行登录来检测用户的合法性(我猜)。我在不同的服务器上运行 selenium RC,这些服务器并行运行这些测试,这可能会引发危险信号。所以我只是以更有组织的方式安排这些脚本,以避免登录重叠。

我希望您能在这篇长篇大论中找到答案。 :)


对于 perl 实现 -

$sel->start();
$sel->open_ok("$URL");
$sel->set_speed("500");
$sel->click_ok("//img[\@alt='Facebook']",'User clicks on Facebook Login');
$sel->wait_for_pop_up_ok("", "30000",'Facebook Login Popup Loading');
$sel->select_pop_up("null");    
$sel->type_ok("email", "email\@email.com",'User enters Facebook credentials - Username');
$sel->type_ok("pass", "password",'User enters Facebook credentials - Password');
$sel->key_press("pass", "\\13",'User returns Facebook Login credentials');
$sel->select_window("null");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Selenium 测试 Facebook Connect 应用程序? 的相关文章

随机推荐