Unit Testing workflow form button

I created a workflow with buttons whitch run good but when I use ‘Proteus’ for my unit tests, it fail because as it says in terminal : i have to register the buttons

in the contract.xml file of my model :

<record model="ir.action.act_window.domain" id="act_my_contract_domain_cancel">
   <field name="name">Canceled</field>
   <field name="sequence" eval="20"/>
   <field name="domain" eval="[('state', '=', 'cancel')]" pyson="1"/>
   <field name="count" eval="True"/>
   <field name="act_window" ref="act_my_package_form"/>
</record>

<record model="ir.action.act_window.domain" id="act_my_contract_domain_draft">
    <field name="name">Draft</field>
    <field name="sequence" eval="20"/>
    <field name="domain" eval="[('state', '=', 'draft')]" pyson="1"/>
    <field name="count" eval="True"/>
    <field name="act_window" ref="act_my_package_form"/>
</record>

<record model="ir.action.act_window.domain" id="act_my_contract_domain_printed">
    <field name="name">Printed</field>
    <field name="sequence" eval="30"/>
    <field name="domain" eval="[('state', '=', 'printed')]" pyson="1"/>
    <field name="count" eval="True"/>
    <field name="act_window" ref="act_my_package_form"/>
</record>

<record model="ir.action.act_window.domain" id="act_my_contract_domain_signed">
    <field name="name">Signed</field>
    <field name="sequence" eval="40"/>
    <field name="domain" eval="[('state', '=', 'signed')]" pyson="1"/>
    <field name="count" eval="True"/>
    <field name="act_window" ref="act_my_package_form"/>
</record> 

How can i register my buttons for my units tests ?

You should create a record for each button on ir.model.button. The name of the record much match your button definition. You can also the optional attributes like the string, the help or the confirm text of the button. This attributes will be used when this attributes are not set on the view.

You have a complete example on the account_invoice module.

Hope it helps!