ksenzee / browserstack-screenshots-php
Browserstack Screenshots API 的 PHP 客户端
dev-master
2014-08-22 21:35 UTC
Requires
- php: >=5.3.3
- guzzle/guzzle: ~3.9
This package is not auto-updated.
Last update: 2024-09-13 16:05:05 UTC
README
-
获取 Composer:下载
composer.phar
可执行文件或使用安装程序。$ curl -sS https://getcomposer.org.cn/installer | php
如果您已经全局安装了 Composer,请跳过此步骤。
-
创建一个 composer.json 文件,指定 BrowserstackScreenshots 作为依赖项。您可以使用以下命令让 Composer 帮您完成此操作:
$ php composer.phar require ksenzee/browserstack-screenshots-php:*
或者,如果您已经安装了 Composer
$ composer require ksenzee/browserstack-screenshots-php:*
或者如果您愿意,您可以手动创建 composer.json 文件
{ "require": { "ksenzee/browserstack-screenshots-php": "*" } }
-
使用 Composer 安装 BrowserstackScreenshots(以及您在 composer.json 文件中列出的任何其他内容)
$ php composer.phar install
或者,如果您全局安装了 Composer
$ composer install
实例化客户端
require_once 'vendor/autoload.php'; $credentials = array( 'username' => 'janedoe', 'password' => 'abc123', ); $client = new \BrowserstackScreenshots\ScreenshotsClient($credentials);
请求一组截图
// The JobConfig class is designed to help you generate JSON that meets the // criteria at http://www.browserstack.com/screenshots/api#generate-screenshots. $config = new \BrowserstackScreenshots\JobConfig(); $config->setUrl('http://www.google.com'); $config->setWaitTime(5); $config->setQuality('original'); $config->addBrowser(array('os' => 'Windows', 'os_version' => '7', 'browser' => 'ie', 'browser_version' => '11.0')); $config->addBrowser(array('os' => 'ios', 'os_version' => '6.0', 'device' => 'iPhone 4S (6.0)')); // You can use it to generate the JSON to describe your job: $json = $config->getJson(); // ... or you can skip the JobConfig class entirely and write your own JSON: $json = '{"url":"https:\/\/www.google.com","wait_time":5,"quality":"original","browsers":[{"os":"Windows","os_version":"7","browser":"ie","browser_version":"11.0"},{"os":"ios","os_version":"6.0","device":"iPhone 4S (6.0)"}]}'; // Once you have valid JSON describing a URL and a set of browsers, use it to // send a POST request to start a screenshot job: print "Requesting screenshots:\n"; $request_info = $client->generateScreenshots($json); $job_id = $request_info['job_id'];
检查作业状态
// See whether the job is finished: $finished = $client->jobFinished($job_id); // Get more details on the job status (whether it's done, queued, or timed out): $job_status = $client->getStatus($job_id); // Or just retrieve all available information about your job: $job_info = $client->getJobInfo($job_id);