Alexa BDD测试

问题描述 投票:0回答:1

我正在尝试以我的Alexa技能实施BDD测试。我正在使用Java SDK来实现它。

[基本上,我想在我的测试套件中以编程方式触发任意意图并断言响应,但是我找不到实现它的任何材料。

我只能找到com.amazon.ask.model.services.skillMessaging.SkillMessagingServiceClient.sendSkillMessage,他的Javadoc说:

向指定用户发送消息请求给技能。

这就是我所需要的,但是,为了创建一个com.amazon.ask.model.services.skillMessaging.SkillMessagingServiceClient,我必须执行以下操作:

SkillMessagingServiceClient client = new SkillMessagingServiceClient(
                DefaultApiConfiguration.builder()
                        .withApiClient(ApacheHttpApiClient.standard())
                        .withSerializer(new JacksonSerializer())
                        .withAuthorizationValue("<authorization_token").build(),
                DefaultAuthenticationConfiguration.builder()
                        .withClientId("<client_id>")
                        .withClientSecret("<client_secret>")
                        .build()
        );

为了获得client_idclient_secret

  1. 我已访问使用Amazon Console登录
  2. 我已经创建了一个安全配置文件
  3. 我已经启用了帐户关联
    1. 授权URI:https://www.amazon.com/ap/oa
    2. 访问令牌URI:https://api.amazon.com/auth/o2/token
    3. 从第2点开始的客户ID和客户机密
    4. 范围:alexa:skill_messagingprofile:user_id
    5. 认证模式:基本
  4. 我已在我的安全配置文件中的允许的返回Web URI中复制了所有的Alexa重定向URL

因此,现在我的技能可以从Alexa应用程序绑定到我的Amazon帐户,但是:

  1. 总而言之,我只是想实施测试,而不是绑定我的帐户。我的生产技能不需要此功能
  2. 绑定不起作用:从Alexa应用确认后,我收到一个错误
  3. 但是,我不知道如何收集身份验证令牌,除非我从Cloudwatch日志中捕获并使用它,直到到期为止。>
  4. 在第二点,我可以看到失败的原因:oauthErrorhttps://skills-store.amazon.it/external/link-result?success=false&errorKey=oauth-error&languageCode=it_IT&skillId=amzn1.ask.skill......&skillStage=development)。该网页包含指向RFC6749的链接。

我目前处于困境,无法完全测试我的技能,还因为无法测试Alexa Player,尤其是意大利语,除非您使用物理设备直接对其进行测试。

感谢您的帮助。

我正在尝试以我的Alexa技能实施BDD测试。我正在使用Java SDK来实现它。基本上,我想在测试套件中以编程方式触发任意意图,并在...

java testing oauth-2.0 bdd alexa
1个回答
0
投票

似乎您在帐户链接和技能证书之间感到困惑。帐户关联用于代表用户E.G.对外部服务进行api调用。我希望我的技能能够访问用户的Google个人资料。

© www.soinside.com 2019 - 2024. All rights reserved.