AWS Devicefarm API提供了ScheduleRun命令来计划运行测试。在命令中,你可以指定一个ARN回调,该回调将在测试运行完成后被调用。以下是一个使用ScheduleRun命令的示例,其中指定了ARN回调:
import boto3
client = boto3.client('devicefarm', region_name='us-west-2')
# Specify the ARN callback
callback_arn = 'arn:aws:sns:us-west-2:123456789012:MyDeviceFarmCallback'
# Specify the other parameters for the ScheduleRun command
project_arn = 'arn:aws:devicefarm:us-west-2:123456789012:project:EXAMPLE-GUID-123-456'
device_pool_arn = 'arn:aws:devicefarm:us-west-2:123456789012:devicepool:EXAMPLE-GUID-123-456'
app_arn = 'arn:aws:devicefarm:us-west-2:123456789012:upload:EXAMPLE-GUID-123-456/app.apk'
test_package_arn = 'arn:aws:devicefarm:us-west-2:123456789012:upload:EXAMPLE-GUID-123-456/test.zip'
# Schedule the run and wait for it to complete
response = client.schedule_run(
projectArn=project_arn,
appArn=app_arn,
devicePoolArn=device_pool_arn,
test= {
'type': 'INSTRUMENTATION',
'testPackageArn': test_package_arn
},
configuration= {
'billingMethod': 'METERED'
},
executionConfiguration= {
'jobTimeoutMinutes': 60
},
callbackArn=callback_arn
)
# Get the run ARN and print it
run_arn = response['run']['arn']
print('Scheduled run with ARN:', run_arn)
在这个示例中,当运行完成时,一个ARN回调将被执行。你可以替换“callback_arn”变量的值以指定你自己的ARN回调。